Files
nix/hosts/eirene/nick.nix
2024-08-08 22:03:15 +03:00

113 lines
4.9 KiB
Nix

{ config, ... }:
let
# https://github.com/NixOS/nixpkgs/issues/24570
# https://github.com/NixOS/nixpkgs/issues/305643
user = "nick";
home = "/home/nick";
in
{
imports = [
../common/user/configs/options.nix
(import ../common/user/configs/console/android { inherit user home; })
(import ../common/user/configs/console/bluetooth { inherit user home; })
(import ../common/user/configs/console/brightnessctl { inherit user home; })
(import ../common/user/configs/console/btop { inherit user home; })
(import ../common/user/configs/console/docker { inherit user home; })
(import ../common/user/configs/console/fastfetch { inherit user home; })
(import ../common/user/configs/console/ffmpeg { inherit user home; })
(import ../common/user/configs/console/git { inherit user home; })
(import ../common/user/configs/console/gpg-agent { inherit user home; })
(import ../common/user/configs/console/home-manager { inherit user home; })
(import ../common/user/configs/console/imagemagick { inherit user home; })
(import ../common/user/configs/console/ncdu { inherit user home; })
(import ../common/user/configs/console/neovim { inherit user home; })
(import ../common/user/configs/console/nixpkgs { inherit user home; })
(import ../common/user/configs/console/pipewire { inherit user home; })
(import ../common/user/configs/console/ranger { inherit user home; })
(import ../common/user/configs/console/sops { inherit user home; })
(import ../common/user/configs/console/syncthing { inherit user home; })
(import ../common/user/configs/console/tmux { inherit user home; })
(import ../common/user/configs/console/tree { inherit user home; })
(import ../common/user/configs/console/wget { inherit user home; })
(import ../common/user/configs/console/xdg { inherit user home; })
(import ../common/user/configs/console/zsh { inherit user home; })
(import ../common/user/configs/gui/ags { inherit user home; })
(import ../common/user/configs/gui/bluetooth { inherit user home; })
(import ../common/user/configs/gui/brightnessctl { inherit user home; })
(import ../common/user/configs/gui/btop { inherit user home; })
(import ../common/user/configs/gui/chromium { inherit user home; })
(import ../common/user/configs/gui/cliphist { inherit user home; })
(import ../common/user/configs/gui/firefox { inherit user home; })
(import ../common/user/configs/gui/gtk { inherit user home; })
(import ../common/user/configs/gui/hyprland { inherit user home; })
(import ../common/user/configs/gui/hyprshot { inherit user home; })
(import ../common/user/configs/gui/kitty { inherit user home; })
(import ../common/user/configs/gui/libreoffice { inherit user home; })
(import ../common/user/configs/gui/networking { inherit user home; })
(import ../common/user/configs/gui/obsidian { inherit user home; })
(import ../common/user/configs/gui/pipewire { inherit user home; })
(import ../common/user/configs/gui/qalculate { inherit user home; })
(import ../common/user/configs/gui/qt { inherit user home; })
(import ../common/user/configs/gui/rofi { inherit user home; })
(import ../common/user/configs/gui/spicetify { inherit user home; })
(import ../common/user/configs/gui/swww { inherit user home; })
(import ../common/user/configs/gui/theme { inherit user home; })
(import ../common/user/configs/gui/vscode { inherit user home; })
(import ../common/user/configs/gui/wev { inherit user home; })
(import ../common/user/configs/gui/x11 { inherit user home; })
];
sops.secrets."${user}-password" = {
sopsFile = ../../users/${user}/secrets/secrets.yaml;
key = "password";
neededForUsers = true;
};
users.users.${user} = {
inherit home;
isNormalUser = true;
email = "nick@karaolidis.com";
fullName = "Nikolaos Karaolidis";
description = "Nikolaos Karaolidis";
hashedPasswordFile = config.sops.secrets."${user}-password".path;
extraGroups = [ "wheel" ];
linger = true;
uid = 1000;
};
services.getty.autologinUser = user;
home-manager.users.${user} = {
home = {
username = user;
homeDirectory = home;
};
sops.defaultSopsFile = ../../users/${user}/secrets/secrets.yaml;
theme.wallpaper = ../../users/${user}/secrets/wallpapers/clouds.png;
programs.obsidian.vaults."Documents/Obsidian/master".enable = true;
services.syncthing.settings.folders = {
obsidian = {
label = "Obsidian";
path = "Documents/Obsidian";
devices = [
"amalthea"
"ganymede"
];
};
official = {
label = "Official";
path = "Documents/Official";
devices = [
"amalthea"
"ganymede"
];
};
};
home.file."Documents/Obsidian/.stignore".source = ../common/user/configs/gui/obsidian/config/.stignore;
};
}