Compare commits

..

No commits in common. "8c7fdf461267d694f5ac21e4cc5e3a05cc826659" and "2fce9fd5077153610fbcb25b52f66d9d6f12b876" have entirely different histories.

12 changed files with 83 additions and 21 deletions

View file

@ -14,4 +14,9 @@
enable = true; enable = true;
source = ./config/custom.css; source = ./config/custom.css;
}; };
home.persistence."/persist/home/sajenim".directories = [
".config/discord"
".config/BetterDiscord"
];
} }

View file

@ -101,4 +101,15 @@
proton.isDefault = true; proton.isDefault = true;
}; };
}; };
home.persistence."/persist/home/sajenim" = {
directories = [
# email configuration
".config/protonmail"
# email cache of messages
".local/share/protonmail"
# gpg encrypted passwords
".password-store"
];
};
} }

View file

@ -2,4 +2,15 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
weechat weechat
]; ];
home.persistence."/persist/home/sajenim" = {
directories = [
# WeeChat configuration files: *.conf, certificates, etc.
".config/weechat"
# WeeChat data files: logs, scripts, scripts data, xfer files, etc.
".local/share/weechat"
# WeeChat cache files: scripts cache.
".cache/weechat"
];
};
} }

View file

@ -7,5 +7,10 @@
openscad openscad
unstable.prusa-slicer unstable.prusa-slicer
]; ];
persistence."/persist/home/sajenim" = {
directories = [
".config/PrusaSlicer"
];
};
}; };
} }

View file

@ -24,5 +24,28 @@
# Misc # Misc
firefox firefox
]; ];
persistence."/persist/home/sajenim" = {
directories = [
".mozilla"
# Hidden user data
".repositories"
".print"
# Mutable configurations
".config/htop"
".config/lazygit"
".config/Yubico"
# Application specific data
".local/share/PrismLauncher"
".local/share/Jellyfin Media Player"
# Our user data
"Documents"
"Downloads"
"Games"
"Music"
"Pictures"
"Videos"
];
};
}; };
} }

View file

@ -1,5 +1,10 @@
{outputs, ...}: { {
inputs,
outputs,
...
}: {
imports = [ imports = [
inputs.impermanence.nixosModules.home-manager.impermanence
../features/cli ../features/cli
]; ];
@ -23,6 +28,22 @@
sessionVariables = { sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
}; };
persistence."/persist/home/sajenim" = {
directories = [
".gnupg"
".ssh"
".var/app"
".local/bin"
".local/share/flatpak"
".local/share/nix"
".local/share/direnv"
];
files = [
".zsh_history"
];
allowOther = true;
};
}; };
systemd.user.startServices = "sd-switch"; systemd.user.startServices = "sd-switch";

View file

@ -8,7 +8,6 @@
imports = [ imports = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
]; ];
users.users.sajenim = { users.users.sajenim = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["audio" "docker" "networkmanager" "wheel" "adbusers"]; extraGroups = ["audio" "docker" "networkmanager" "wheel" "adbusers"];
@ -27,10 +26,4 @@
}; };
backupFileExtension = "bak"; backupFileExtension = "bak";
}; };
fileSystems."/home/sajenim" = {
device = "/dev/disk/by-label/data";
fsType = "btrfs";
options = ["subvol=sajenim" "compress=zstd"];
};
} }

View file

@ -6,17 +6,10 @@
imports = [ imports = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
]; ];
users.users.spectre = { users.users.spectre = {
isNormalUser = true; isNormalUser = true;
shell = pkgs.zsh; shell = pkgs.zsh;
hashedPassword = "$y$j9T$eCJ0MDPsx3tww9LP0LU8..$sE8u5keO7QNKNAR1t2R6GqsDzvGD0Xn9Fi3to14Gf9/"; hashedPassword = "$y$j9T$eCJ0MDPsx3tww9LP0LU8..$sE8u5keO7QNKNAR1t2R6GqsDzvGD0Xn9Fi3to14Gf9/";
}; };
users.mutableUsers = false; users.mutableUsers = false;
fileSystems."/home/spectre" = {
device = "/dev/disk/by-label/data";
fsType = "btrfs";
options = ["subvol=spectre" "compress=zstd"];
};
} }

View file

@ -60,13 +60,13 @@ in {
}; };
fileSystems."/srv/containers" = { fileSystems."/srv/containers" = {
device = "/dev/disk/by-label/data"; device = "/dev/disk/by-label/${hostname}";
fsType = "btrfs"; fsType = "btrfs";
options = ["subvol=containers" "compress=zstd"]; options = ["subvol=containers" "compress=zstd"];
}; };
fileSystems."/srv/services" = { fileSystems."/srv/services" = {
device = "/dev/disk/by-label/data"; device = "/dev/disk/by-label/${hostname}";
fsType = "btrfs"; fsType = "btrfs";
options = ["subvol=services" "compress=zstd"]; options = ["subvol=services" "compress=zstd"];
}; };

View file

@ -11,7 +11,7 @@
# Restrict access to internal networks # Restrict access to internal networks
internal.ipwhitelist.sourcerange = [ internal.ipwhitelist.sourcerange = [
"127.0.0.1/32" # localhost "127.0.0.1/32" # localhost
"192.168.50.1/24" # lan "192.168.20.1/24" # lan
]; ];
# Restrict access based on geo-location # Restrict access based on geo-location

View file

@ -6,7 +6,7 @@
"websecure" "websecure"
]; ];
middlewares = [ middlewares = [
"internal" "admin"
]; ];
service = "api@internal"; service = "api@internal";
}; };
@ -17,7 +17,7 @@
"websecure" "websecure"
]; ];
middlewares = [ middlewares = [
"internal" "admin"
]; ];
service = "ender1"; service = "ender1";
}; };

View file

@ -1,7 +1,7 @@
{...}: { {...}: {
services.traefik.dynamicConfigOptions.http.services = { services.traefik.dynamicConfigOptions.http.services = {
ender1.loadBalancer.servers = [ ender1.loadBalancer.servers = [
{url = "http://192.168.50.201:80";} {url = "http://192.168.1.103:80";}
]; ];
}; };
} }