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 = {
|
||||
enable = true;
|
||||
mimeApps.enable = true;
|
||||
@@ -11,13 +13,13 @@ in
|
||||
userDirs = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
XDG_VM_DIR = "${cfg.home}/VMs";
|
||||
XDG_GIT_DIR = "${cfg.home}/git";
|
||||
XDG_VM_DIR = "${user.home}/VMs";
|
||||
XDG_GIT_DIR = "${user.home}/git";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.persistence."/persist${cfg.home}".directories = [
|
||||
home.persistence."/persist${user.home}".directories = [
|
||||
"Desktop" # userDirs.desktop
|
||||
"Documents" # userDirs.documents
|
||||
"Downloads" # userDirs.download
|
||||
@@ -28,5 +30,5 @@ in
|
||||
"VMs"
|
||||
"git"
|
||||
];
|
||||
}) users;
|
||||
};
|
||||
}
|
@@ -14,6 +14,8 @@ in
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
home-manager.users.${user.name} = {
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
@@ -12,6 +12,8 @@ let
|
||||
in
|
||||
{
|
||||
home-manager.users.${user.name} = {
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
programs.matugen = {
|
||||
enable = true;
|
||||
settings = {
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
@@ -14,6 +14,8 @@ let
|
||||
in
|
||||
{
|
||||
home-manager.users.${user.name} = {
|
||||
imports = [ ./options.nix ];
|
||||
|
||||
theme.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
@@ -1,9 +1,34 @@
|
||||
{
|
||||
imports = [
|
||||
../common
|
||||
(import ../../users/nick { autologin = true; })
|
||||
../common/system/configs/boot
|
||||
../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";
|
||||
|
||||
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