snowfall migration wip fixed user config

This commit is contained in:
Aleksandr Lebedev 2025-08-09 17:19:12 +02:00
parent 25774148e4
commit aaf4ff29c4
8 changed files with 87 additions and 79 deletions

View file

@ -23,20 +23,22 @@ in
}; };
}; };
home = { home = {
packages = with pkgs; [ packages = with pkgs;
gdb [
element-desktop gdb
obs-studio element-desktop
neovim obs-studio
localsend neovim
kdePackages.kdenlive localsend
] ++ lib.optionals osConfig.custom.presets.gaming.enable [mcpelauncher-ui-qt]; kdePackages.kdenlive
]
++ lib.optionals osConfig.custom.presets.gaming.enable [mcpelauncher-ui-qt];
sessionVariables = { sessionVariables = {
EDITOR = "emacsclient -c"; EDITOR = "emacsclient -c";
NH_OS_FLAKE = "${home}/nixos-config"; NH_OS_FLAKE = "${home}/nixos-config";
NH_HOME_FLAKE = "${home}/nixos-config"; NH_HOME_FLAKE = "${home}/nixos-config";
NH_DARWIN_FLAKE = "${home}/nixos-config"; NH_DARWIN_FLAKE = "${home}/nixos-config";
}; };
stateVersion = "25.05"; stateVersion = "25.05";

View file

@ -1,5 +1,8 @@
{osConfig, pkgs, ...}:
{ {
osConfig,
pkgs,
...
}: {
home.packages = with pkgs; [kitty-themes]; home.packages = with pkgs; [kitty-themes];
programs.fzf = { programs.fzf = {
enable = true; enable = true;
@ -10,7 +13,7 @@
enable = true; enable = true;
icons = "always"; icons = "always";
}; };
programs.kitty = { programs.kitty = {
enable = osConfig.custom.presets.workstation.enable; enable = osConfig.custom.presets.workstation.enable;
font = { font = {
name = "JetBrainsMono Nerd Font"; name = "JetBrainsMono Nerd Font";

View file

@ -5,8 +5,6 @@
... ...
}: }:
with lib; rec { with lib; rec {
mkHomeManagerConfigOpt = config: lib.${namespace}.mkOpt' types.anything {};
mkUser = { mkUser = {
config, config,
enable, enable,
@ -25,7 +23,7 @@ with lib; rec {
home = { home = {
enable = enable; enable = enable;
#config = homeConfig; config = homeConfig;
}; };
}; };
users.users.${username} = mkIf enable { users.users.${username} = mkIf enable {

View file

@ -17,6 +17,7 @@ with lib.${namespace}; let
in { in {
options.${namespace}.hardware.framework12 = with types; { options.${namespace}.hardware.framework12 = with types; {
enable = mkBoolOpt false "Enable hardware support for framework 12. P.s. you still need to import inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel yourself"; enable = mkBoolOpt false "Enable hardware support for framework 12. P.s. you still need to import inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel yourself";
imports = [inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel];
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
# Ensure that the `pinctrl_tigerlake` kernel module is loaded before `soc_button_array`. # Ensure that the `pinctrl_tigerlake` kernel module is loaded before `soc_button_array`.

View file

@ -26,7 +26,7 @@ with lib.${namespace}; let
in { in {
options.${namespace}.users.${username} = with types; { options.${namespace}.users.${username} = with types; {
enable = mkBoolOpt false "Enable ${username} user"; enable = mkBoolOpt false "Enable ${username} user";
config = mkHomeManagerConfigOpt config; config = mkOpt types.attrs {} "Additional home manager config for ${username}";
}; };
config = mkUser { config = mkUser {

View file

@ -22,7 +22,7 @@ with lib.${namespace}; let
in { in {
options.${namespace}.users.${username} = with types; { options.${namespace}.users.${username} = with types; {
enable = mkBoolOpt false "Enable ${username} user"; enable = mkBoolOpt false "Enable ${username} user";
config = mkHomeManagerConfigOpt config; config = mkOpt types.attrs {} "Additional home manager config for ${username}";
}; };
config = mkUser { config = mkUser {

View file

@ -10,69 +10,73 @@
systems, systems,
config, config,
... ...
}: }: let
with lib; niri-outputs = {
with lib.${namespace}; { programs.niri.settings.outputs = {
facter.reportPath = ./facter.json; "DP-1" = {
systemd.network.wait-online.enable = lib.mkForce false; #facter scale = 1.6;
position.x = 1600;
custom.hardware.nvidia = enabled; position.y = 0;
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos; };
services.scx.enable = true; # by default uses scx_rustland scheduler "DP-3" = {
custom.impermanence = enabled; scale = 1.6;
custom.presets.workstation = enabled; position.x = 0;
custom.presets.gaming = enabled; position.y = 0;
custom.presets.disko.impermanenceBtrfs = { };
enable = true;
device = "/dev/nvme0n1";
swapSize = 32;
};
custom.windowManagers.niri = enabled;
custom.loginManagers.sddm = enabled;
custom.services.ai = {
enable = true;
models = ["qwq" "llama3.1" "qwen2.5-coder:7b" "gpt-oss:20b" "gpt-oss:120b"];
};
custom.users = {
tania = enabled;
kylekrein = {
enable = true;
}; };
}; };
snowfallorg.users.kylekrein.home.config = { in
programs.niri.settings.outputs = { with lib;
"DP-1" = { with lib.${namespace}; {
scale = 1.6; facter.reportPath = ./facter.json;
position.x = 1600; systemd.network.wait-online.enable = lib.mkForce false; #facter
position.y = 0;
}; custom.hardware.nvidia = enabled;
"DP-3" = { boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
scale = 1.6; services.scx.enable = true; # by default uses scx_rustland scheduler
position.x = 0; custom.impermanence = enabled;
position.y = 0; custom.presets.workstation = enabled;
}; custom.presets.gaming = enabled;
}; custom.presets.disko.impermanenceBtrfs = {
enable = true;
device = "/dev/nvme0n1";
swapSize = 32;
};
custom.windowManagers.niri = enabled;
custom.loginManagers.sddm = enabled;
custom.services.ai = {
enable = true;
models = ["qwq" "llama3.1" "qwen2.5-coder:7b" "gpt-oss:20b" "gpt-oss:120b"];
};
custom.users = {
kylekrein = {
enable = true;
config = niri-outputs;
}; };
tania = {
inherit (config.custom.users.kylekrein) enable config;
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
blender blender
nix-schemas nix-schemas
];
services.zerotierone = {
enable = true;
port = 9994;
joinNetworks = [
"A84AC5C10AD269CA"
"db64858fed285e0f"
]; ];
};
#Chat host
networking.firewall.allowedTCPPorts = [80 443 22 8448 9993 8081] ++ [config.services.zerotierone.port];
networking.firewall.allowedUDPPorts = [config.services.zerotierone.port];
# ======================== DO NOT CHANGE THIS ======================== services.zerotierone = {
system.stateVersion = "25.05"; enable = true;
# ======================== DO NOT CHANGE THIS ======================== port = 9994;
} joinNetworks = [
"A84AC5C10AD269CA"
"db64858fed285e0f"
];
};
#Chat host
networking.firewall.allowedTCPPorts = [80 443 22 8448 9993 8081] ++ [config.services.zerotierone.port];
networking.firewall.allowedUDPPorts = [config.services.zerotierone.port];
# ======================== DO NOT CHANGE THIS ========================
system.stateVersion = "25.05";
# ======================== DO NOT CHANGE THIS ========================
}

View file

@ -22,7 +22,7 @@ with lib.${namespace}; let
in { in {
options.${namespace}.users.${username} = with types; { options.${namespace}.users.${username} = with types; {
enable = mkBoolOpt false "Enable ${username} user"; enable = mkBoolOpt false "Enable ${username} user";
config = mkHomeManagerConfigOpt config; config = mkOpt types.attrs {} "Additional home manager config for ${username}";
}; };
config = mkUser { config = mkUser {