Move some (all) files around
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
programs.ssh = {
|
|
||||||
knownHosts = {
|
|
||||||
eirene.publicKeyFile = ../../../eirene/secrets/ssh_host_ed25519_key.pub;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -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";
|
|
||||||
}
|
|
7
hosts/common/system/configs/ssh/default.nix
Normal file
7
hosts/common/system/configs/ssh/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
programs.ssh = {
|
||||||
|
knownHosts = {
|
||||||
|
eirene.publicKeyFile = ../../../../eirene/secrets/ssh_host_ed25519_key.pub;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
26
hosts/common/user/configs/console/home-manager/default.nix
Normal file
26
hosts/common/user/configs/console/home-manager/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
30
hosts/common/user/configs/console/persist/default.nix
Normal file
30
hosts/common/user/configs/console/persist/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
24
hosts/common/user/configs/console/sops/default.nix
Normal file
24
hosts/common/user/configs/console/sops/default.nix
Normal 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}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -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;
|
};
|
||||||
}
|
}
|
@@ -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;
|
||||||
|
|
@@ -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 = {
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
@@ -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 = [
|
@@ -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
70
hosts/eirene/nick.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@@ -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;
|
|
||||||
}
|
|
@@ -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
Reference in New Issue
Block a user