Move some (all) files around

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-08 20:01:55 +03:00
parent 9dfbe1203d
commit 7ab40e3493
103 changed files with 202 additions and 217 deletions

View File

@@ -1,7 +0,0 @@
{
programs.ssh = {
knownHosts = {
eirene.publicKeyFile = ../../../eirene/secrets/ssh_host_ed25519_key.pub;
};
};
}

View File

@@ -1,30 +0,0 @@
{
imports = [
./configs/boot
./configs/system
./configs/nix
./configs/persist
./configs/sops
./configs/users
./configs/getty
./configs/plymouth
./configs/networking
./configs/bluetooth
./configs/brightnessctl
./configs/pipewire
./configs/zsh
./configs/neovim
./configs/tmux
./configs/ssh
./configs/nix-ld
./configs/git
./configs/gpg-agent
./configs/tree
./configs/ranger
./configs/btop
./configs/fastfetch
./scripts/cleanup
];
i18n.defaultLocale = "en_US.UTF-8";
}

View File

@@ -0,0 +1,7 @@
{
programs.ssh = {
knownHosts = {
eirene.publicKeyFile = ../../../../eirene/secrets/ssh_host_ed25519_key.pub;
};
};
}

View File

@@ -0,0 +1,26 @@
{
user ? throw "user argument is required",
}:
{ config, inputs, ... }:
{
imports = [
inputs.home-manager.nixosModules.default
];
programs.dconf.enable = true;
home-manager = {
extraSpecialArgs = {
inherit inputs;
};
backupFileExtension = "bak";
useGlobalPkgs = true;
users.${user.name} = {
home.stateVersion = "24.05";
systemd.user.startServices = "sd-switch";
nix.settings = config.nix.settings;
nixpkgs.config = config.nixpkgs.config;
};
};
}

View File

@@ -0,0 +1,30 @@
{
user ? throw "user argument is required",
}:
{
config,
inputs,
lib,
...
}:
{
programs.fuse.userAllowOther = true;
systemd.tmpfiles.rules = (
[
"d /persist/home 0755 root root -"
"d /cache/home 0755 root root -"
"d /persist${user.home} 0700 ${user.name} users -"
"d /cache${user.home} 0700 ${user.name} users -"
]
);
home-manager.users.${user.name} = {
imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ];
home.persistence = {
"/persist${user.home}".allowOther = true;
"/cache${user.home}".allowOther = true;
};
};
}

View File

@@ -0,0 +1,24 @@
{
user ? throw "user argument is required",
}:
{
config,
inputs,
lib,
...
}:
let
sopsKeyPath = ".config/sops-nix/key.txt";
in
{
home-manager.users.${user.name} = {
imports = [ inputs.sops-nix.homeManagerModules.sops ];
sops.age.keyFile = "/persist${user.home}/${sopsKeyPath}";
home = {
persistence."/persist${user.home}".files = [ sopsKeyPath ];
sessionVariables.SOPS_AGE_KEY_FILE = "${user.home}/${sopsKeyPath}";
};
};
}

View File

@@ -1,9 +1,11 @@
{ config, lib, ... }:
let
users = lib.attrsets.filterAttrs (_: config: config.isNormalUser) config.users.users;
in
{ {
home-manager.users = lib.attrsets.mapAttrs (user: cfg: { user ? throw "user argument is required",
}:
{ config, lib, ... }:
{
home-manager.users.${user.name} = {
imports = [ ./options.nix ];
xdg = { xdg = {
enable = true; enable = true;
mimeApps.enable = true; mimeApps.enable = true;
@@ -11,13 +13,13 @@ in
userDirs = { userDirs = {
enable = true; enable = true;
extraConfig = { extraConfig = {
XDG_VM_DIR = "${cfg.home}/VMs"; XDG_VM_DIR = "${user.home}/VMs";
XDG_GIT_DIR = "${cfg.home}/git"; XDG_GIT_DIR = "${user.home}/git";
}; };
}; };
}; };
home.persistence."/persist${cfg.home}".directories = [ home.persistence."/persist${user.home}".directories = [
"Desktop" # userDirs.desktop "Desktop" # userDirs.desktop
"Documents" # userDirs.documents "Documents" # userDirs.documents
"Downloads" # userDirs.download "Downloads" # userDirs.download
@@ -28,5 +30,5 @@ in
"VMs" "VMs"
"git" "git"
]; ];
}) users; };
} }

View File

@@ -14,6 +14,8 @@ in
programs.hyprland.enable = true; programs.hyprland.enable = true;
home-manager.users.${user.name} = { home-manager.users.${user.name} = {
imports = [ ./options.nix ];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;

View File

@@ -12,6 +12,8 @@ let
in in
{ {
home-manager.users.${user.name} = { home-manager.users.${user.name} = {
imports = [ ./options.nix ];
programs.matugen = { programs.matugen = {
enable = true; enable = true;
settings = { settings = {

View File

Before

Width:  |  Height:  |  Size: 216 KiB

After

Width:  |  Height:  |  Size: 216 KiB

View File

@@ -14,6 +14,8 @@ let
in in
{ {
home-manager.users.${user.name} = { home-manager.users.${user.name} = {
imports = [ ./options.nix ];
theme.enable = true; theme.enable = true;
wayland.windowManager.hyprland.settings.bind = [ wayland.windowManager.hyprland.settings.bind = [

View File

@@ -1,9 +1,34 @@
{ {
imports = [ imports = [
../common ../common/system/configs/boot
(import ../../users/nick { autologin = true; }) ../common/system/configs/system
../common/system/configs/nix
../common/system/configs/persist
../common/system/configs/sops
../common/system/configs/users
../common/system/configs/getty
../common/system/configs/plymouth
../common/system/configs/networking
../common/system/configs/bluetooth
../common/system/configs/brightnessctl
../common/system/configs/pipewire
../common/system/configs/zsh
../common/system/configs/neovim
../common/system/configs/tmux
../common/system/configs/ssh
../common/system/configs/nix-ld
../common/system/configs/git
../common/system/configs/gpg-agent
../common/system/configs/tree
../common/system/configs/ranger
../common/system/configs/btop
../common/system/configs/fastfetch
../common/system/scripts/cleanup
./nick.nix
]; ];
sops.defaultSopsFile = ./secrets/secrets.yaml; i18n.defaultLocale = "en_US.UTF-8";
time.timeZone = "Europe/Athens"; time.timeZone = "Europe/Athens";
sops.defaultSopsFile = ./secrets/secrets.yaml;
} }

70
hosts/eirene/nick.nix Normal file
View File

@@ -0,0 +1,70 @@
{ config, ... }:
let
user = config.users.users.nick;
in
{
imports = [
../common/user/configs/options.nix
(import ../common/user/configs/console/bluetooth { inherit user; })
(import ../common/user/configs/console/brightnessctl { inherit user; })
(import ../common/user/configs/console/btop { inherit user; })
(import ../common/user/configs/console/git { inherit user; })
(import ../common/user/configs/console/gpg-agent { inherit user; })
(import ../common/user/configs/console/home-manager { inherit user; })
(import ../common/user/configs/console/neovim { inherit user; })
(import ../common/user/configs/console/persist { inherit user; })
(import ../common/user/configs/console/pipewire { inherit user; })
(import ../common/user/configs/console/sops { inherit user; })
(import ../common/user/configs/console/syncthing { inherit user; })
(import ../common/user/configs/console/xdg { inherit user; })
(import ../common/user/configs/console/zsh { inherit user; })
(import ../common/user/configs/gui/ags { inherit user; })
(import ../common/user/configs/gui/bluetooth { inherit user; })
(import ../common/user/configs/gui/brightnessctl { inherit user; })
(import ../common/user/configs/gui/btop { inherit user; })
# (import ../common/user/configs/gui/cbatticon { inherit user; })
(import ../common/user/configs/gui/cliphist { inherit user; })
(import ../common/user/configs/gui/firefox { inherit user; })
(import ../common/user/configs/gui/gtk { inherit user; })
(import ../common/user/configs/gui/hyprland { inherit user; })
(import ../common/user/configs/gui/hyprshot { inherit user; })
(import ../common/user/configs/gui/kitty { inherit user; })
(import ../common/user/configs/gui/matugen { inherit user; })
(import ../common/user/configs/gui/networking { inherit user; })
(import ../common/user/configs/gui/pipewire { inherit user; })
(import ../common/user/configs/gui/qalculate { inherit user; })
(import ../common/user/configs/gui/qt { inherit user; })
(import ../common/user/configs/gui/rofi { inherit user; })
(import ../common/user/configs/gui/swww { inherit user; })
(import ../common/user/configs/gui/theme { inherit user; })
(import ../common/user/configs/gui/vscode { inherit user; })
(import ../common/user/configs/gui/wev { inherit user; })
(import ../common/user/configs/gui/x11 { inherit user; })
];
sops.secrets.nick-password = {
sopsFile = ../../users/nick/secrets/secrets.yaml;
key = "password";
neededForUsers = true;
};
users.users.nick = {
isNormalUser = true;
home = "/home/nick";
email = "nick@karaolidis.com";
fullName = "Nikolaos Karaolidis";
description = user.fullName;
hashedPasswordFile = config.sops.secrets.nick-password.path;
extraGroups = [ "wheel" ];
linger = true;
uid = 1000;
};
services.getty.autologinUser = user.name;
home-manager.users.${user.name} = {
home.homeDirectory = user.home;
sops.defaultSopsFile = ../../users/nick/secrets/secrets.yaml;
theme.wallpaper = ../../users/nick/secrets/wallpapers/clouds.png;
};
}

View File

@@ -1,30 +0,0 @@
{
config,
inputs,
lib,
...
}:
let
users = lib.attrsets.filterAttrs (_: config: config.isNormalUser) config.users.users;
in
{
programs.fuse.userAllowOther = lib.mkIf (users != [ ]) true;
systemd.tmpfiles.rules = lib.mkIf (users != [ ]) (
[
"d /persist/home 0755 root root -"
"d /cache/home 0755 root root -"
]
++ lib.attrsets.mapAttrsToList (user: config: "d /persist${config.home} 0700 ${user} users -") users
++ lib.attrsets.mapAttrsToList (user: config: "d /cache${config.home} 0700 ${user} users -") users
);
home-manager.users = lib.attrsets.mapAttrs (user: config: {
imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ];
home.persistence = {
"/persist${config.home}".allowOther = true;
"/cache${config.home}".allowOther = true;
};
}) users;
}

View File

@@ -1,22 +0,0 @@
{
config,
inputs,
lib,
...
}:
let
users = lib.attrsets.filterAttrs (_: config: config.isNormalUser) config.users.users;
sopsKeyPath = ".config/sops-nix/key.txt";
in
{
home-manager.users = lib.attrsets.mapAttrs (user: config: {
imports = [ inputs.sops-nix.homeManagerModules.sops ];
sops.age.keyFile = "/persist${config.home}/${sopsKeyPath}";
home = {
persistence."/persist${config.home}".files = [ sopsKeyPath ];
sessionVariables.SOPS_AGE_KEY_FILE = "${config.home}/${sopsKeyPath}";
};
}) users;
}

Some files were not shown because too many files have changed in this diff Show More