156 lines
7.2 KiB
Nix
156 lines
7.2 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
# FIXME: https://github.com/NixOS/nixpkgs/issues/24570
|
|
# FIXME: https://github.com/NixOS/nixpkgs/issues/305643
|
|
user = "nikara";
|
|
home = "/home/nikara";
|
|
in
|
|
{
|
|
imports = [
|
|
../../../common/user/configs/options.nix
|
|
(import ../../../common/user/configs/console/bashmount { 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/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/libvirt { 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/nix-develop { inherit user home; })
|
|
(import ../../../common/user/configs/console/nix-direnv { 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/ssh { 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/astal { 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/emoji { 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/obs { inherit user home; })
|
|
(import ../../../common/user/configs/gui/obsidian { inherit user home; })
|
|
(import ../../../common/user/configs/gui/openlens { 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; })
|
|
(import ../../../common/user/configs/gui/xdg { inherit user home; })
|
|
(import ../../user/configs/console/globalprotect-remote-connect { inherit user home; })
|
|
];
|
|
|
|
# echo "password" | mkpasswd -s
|
|
sops.secrets."${user}-password" = {
|
|
sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
key = "password";
|
|
neededForUsers = true;
|
|
};
|
|
|
|
users.users.${user} = {
|
|
inherit home;
|
|
isNormalUser = true;
|
|
email = "Nick.Karaolidis@sas.com";
|
|
fullName = "Nick Karaolidis";
|
|
description = "Nick Karaolidis";
|
|
hashedPasswordFile = config.sops.secrets."${user}-password".path;
|
|
extraGroups = [ "wheel" ];
|
|
linger = true;
|
|
uid = lib.strings.toInt (builtins.readFile ./uid);
|
|
};
|
|
|
|
services.getty.autologinUser = user;
|
|
|
|
home-manager.users.${user} = {
|
|
home = {
|
|
username = user;
|
|
homeDirectory = home;
|
|
};
|
|
|
|
sops.secrets = {
|
|
# Personal
|
|
"git/credentials" = {
|
|
sopsFile = ../../../../secrets/personal/secrets.yaml;
|
|
path = "${home}/.config/git/credentials";
|
|
};
|
|
"git/cookies" = {
|
|
sopsFile = ../../../../secrets/personal/secrets.yaml;
|
|
path = "${home}/.config/git/cookies";
|
|
};
|
|
|
|
"ssh/personal/git/key" = {
|
|
sopsFile = ../../../../secrets/personal/secrets.yaml;
|
|
path = "${home}/.ssh/ssh_git_personal_ed25519_key";
|
|
};
|
|
"ssh/personal/git/pass".sopsFile = ../../../../secrets/personal/secrets.yaml;
|
|
|
|
"gpg/personal/key".sopsFile = ../../../../secrets/personal/secrets.yaml;
|
|
"gpg/personal/pass".sopsFile = ../../../../secrets/personal/secrets.yaml;
|
|
|
|
# SAS
|
|
"globalprotect/server".sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
"globalprotect/email".sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
"globalprotect/password".sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
"globalprotect/gateway".sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
|
|
"ssh/sas/git/key" = {
|
|
sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
path = "${home}/.ssh/ssh_git_sas_ed25519_key";
|
|
};
|
|
"ssh/sas/git/pass".sopsFile = ../../../../secrets/sas/secrets.yaml;
|
|
};
|
|
|
|
programs.ssh.matchBlocks = {
|
|
# Personal
|
|
"github.com/karaolidis" = {
|
|
hostname = "github.com";
|
|
user = "git";
|
|
identityFile = "${home}/.ssh/ssh_git_personal_ed25519_key";
|
|
extraOptions.StrictHostKeyChecking = "accept-new";
|
|
};
|
|
|
|
# SAS
|
|
"github.com" = {
|
|
hostname = "github.com";
|
|
user = "git";
|
|
identityFile = "${home}/.ssh/ssh_git_sas_ed25519_key";
|
|
extraOptions.StrictHostKeyChecking = "accept-new";
|
|
};
|
|
"gitlab.sas.com" = {
|
|
hostname = "gitlab.sas.com";
|
|
user = "git";
|
|
identityFile = "${home}/.ssh/ssh_git_sas_ed25519_key";
|
|
extraOptions.StrictHostKeyChecking = "accept-new";
|
|
};
|
|
};
|
|
|
|
theme.wallpaper = ../../../../static/wallpapers/snow.jpg;
|
|
|
|
programs.obsidian.vaults."Documents/Obsidian/master".enable = true;
|
|
};
|
|
}
|