Compare commits

...

6 commits

Author SHA1 Message Date
270ebded3d Refactor config paths & update host imports
• Relocates common configurations from a user-specific directory to a global hierarchy
• Adds host-specific files and updates import paths for better modularity
• Introduces an experimental GNOME mutter feature
2025-05-27 14:44:19 -04:00
eecdf2ff1c Enable fractional scaling in gnome, Allegedly 2025-05-27 14:43:14 -04:00
a8c3b7e851 Update gaming configuration: remove video driver setting and add AMD Vulkan ICD variable 2025-05-27 14:42:22 -04:00
54ad243c75 Refactor pool.nix service script: streamline git symlink creation and remove redundant directory setup 2025-05-27 14:41:54 -04:00
41ceef3e77 Extend GNOME dconf settings: update keybindings, workspace preferences, and audio device configurations 2025-05-21 13:44:15 -04:00
6f53e978bb Update GNOME dconf settings and modify default package list 2025-05-19 21:10:04 -04:00
78 changed files with 352 additions and 177 deletions

25
flake.lock generated
View file

@ -274,11 +274,11 @@
},
"hardware": {
"locked": {
"lastModified": 1747129300,
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=",
"lastModified": 1747684167,
"narHash": "sha256-l6jbonaboCBlB8lCjBkrqgh2zEnvt6F3f4dOU/8CLd4=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "e81fd167b33121269149c57806599045fd33eeed",
"rev": "e8f38b2c19c0647e39021c3d47172ff5469af8a9",
"type": "github"
},
"original": {
@ -358,11 +358,11 @@
]
},
"locked": {
"lastModified": 1747594704,
"narHash": "sha256-IAUIY96BaMM4o+BeMLcviBji/Xais7WfU5TIPjgPEEQ=",
"lastModified": 1747620037,
"narHash": "sha256-M5yyl1Cp5rolwGBuCEKXG6qJj9lao16lshqPF83z0qs=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "1c04e472eafbd37d82af17769d45932e39b37b76",
"rev": "5d7985a2d5c877f6a276a2b024fff6bb2995ff24",
"type": "github"
},
"original": {
@ -626,11 +626,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1747605783,
"narHash": "sha256-4t7Kmy+CTemV9QMgLXrTkz+33y31Z1V2Cl/mrbyf6Mc=",
"lastModified": 1747675820,
"narHash": "sha256-Z8o3Tu/FN4GOtZl4WNY0Gcp/Uzuz06ILkRy0oPVteM0=",
"owner": "danth",
"repo": "stylix",
"rev": "c8f09c164b6490613ccee5a083f22095385bef5c",
"rev": "f8833c5e0c64287cd51a27e6061a88f4225b6b70",
"type": "github"
},
"original": {
@ -749,17 +749,16 @@
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
}
},

View file

@ -3,9 +3,6 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# Pin stable vs unstable: use nixpkgs-stable for critical packages while nixpkgs follows the beta branch.
# See overlays "stable-packages" and "unstable-packages" in ./overlays/default.nix.
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
@ -79,21 +76,16 @@
inherit (self) outputs;
inherit (nixpkgs) lib;
ARM = "aarch64-linux"; # ARM systems
X86 = "x86_64-linux"; # x86_64 systems
ARM = "aarch64-linux";
X86 = "x86_64-linux";
#
# ========= Architectures =========
#
forAllSystems = nixpkgs.lib.genAttrs [
ARM
X86
];
#
# ========= Host Config Functions =========
#
# Handle a given host config based on whether its underlying system is nixos or darwin
## Host Config ##
mkHost = host: isARM: {
${host} =
let
@ -108,14 +100,12 @@
isARM
;
system = systemFunc;
# ========== Extend lib with lib.custom ==========
# NOTE: This approach allows lib.custom to propagate into hm
# see: https://github.com/nix-community/home-manager/pull/3454
# INFO: Extend lib with lib.custom; This approach allows lib.custom to propagate into hm
lib = nixpkgs.lib.extend (self: super: { custom = import ./lib { inherit (nixpkgs) lib; }; });
};
modules = [
# Apply the overlays to make custom packages available
{
#INFO: Overlay application for custom packages
nixpkgs.overlays = [
self.overlays.default
];
@ -133,25 +123,13 @@
# Invoke mkHost for each host config that is declared for either X86 or ARM
mkHostConfigs =
hosts: isARM: lib.foldl (acc: set: acc // set) { } (lib.map (host: mkHost host isARM) hosts);
# Return the hosts declared in the given directory
readHosts = folder: lib.attrNames (builtins.readDir ./hosts/${folder});
in
{
#
# ========= Overlays =========
#
# Custom modifications/overrides to upstream packages.
overlays = import ./overlays { inherit inputs; };
#
# ========= Host Configurations =========
#
# Building configurations is available through `just rebuild` or `nixos-rebuild --flake .#hostname`
nixosConfigurations = mkHostConfigs (readHosts "nixos") false;
# ========= Packages =========
#
# Add custom packages to be shared or upstreamed.
packages = forAllSystems (
system:
let

View file

@ -89,6 +89,8 @@ with lib.hm.gvariant;
"<Shift><Super>Above_Tab"
"<Shift><Alt>Above_Tab"
];
switch-input-source = [ ];
switch-input-source-backward = [ ];
switch-panels = [ "<Control><Alt>Tab" ];
switch-panels-backward = [ "<Shift><Control><Alt>Tab" ];
switch-to-workspace-1 = [ ];
@ -102,6 +104,14 @@ with lib.hm.gvariant;
unmaximize = [ ];
};
"org/gnome/desktop/wm/preferences" = {
num-workspaces = 3;
};
"org/gnome/mutter" = {
experimental-features = [ "scale-monitor-framebuffer" ];
};
"org/gnome/nautilus/preferences" = {
default-folder-viewer = "icon-view";
migrated-gtk-settings = true;
@ -116,12 +126,21 @@ with lib.hm.gvariant;
};
"org/gnome/settings-daemon/plugins/media-keys" = {
www = [ "<Super>w" ];
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
];
next = [ "AudioNext" ];
play = [ "AudioPlay" ];
previous = [ "AudioPrev" ];
reboot = [ "<Super>r" ];
rotate-video-lock-static = [ ];
shutdown = [ "<Super>x" ];
volume-down = [ "AudioLowerVolume" ];
volume-mute = [ "AudioMute" ];
volume-up = [ "AudioRaiseVolume" ];
www = [ "<Super>w" ];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
@ -166,7 +185,7 @@ with lib.hm.gvariant;
"zen.desktop"
"code.desktop"
"spotify.desktop"
"vesktop.desktop"
"discord.desktop"
"org.telegram.desktop.desktop"
"appeditor-local-application-1.desktop"
"Ryujinx.desktop"
@ -201,6 +220,13 @@ with lib.hm.gvariant;
};
"org/gnome/shell/extensions/blur-my-shell/applications" = {
blacklist = [
"Plank"
"com.desktop.ding"
"Conky"
".gamescope-wrapped"
"steam_app_2993780"
];
blur = true;
dynamic-opacity = false;
enable-all = true;
@ -288,7 +314,9 @@ with lib.hm.gvariant;
};
"org/gnome/shell/extensions/pano" = {
history-length = 100;
global-shortcut = [ "<Super>v" ];
history-length = 500;
incognito-shortcut = [ "<Shift><Super>v" ];
is-in-incognito = false;
window-position = mkUint32 2;
};
@ -327,7 +355,23 @@ with lib.hm.gvariant;
vertical-margin = 8;
vertical-margin-bottom = 8;
window-gap = 8;
winprops = [ ];
winprops = [
''
{"wm_class":"com.mitchellh.ghostty","scratch_layer":true}
''
''
{"wm_class":"code","preferredWidth":"70%"}
''
''
{"wm_class":"discord","preferredWidth":"100%","spaceIndex":1}
''
''
{"wm_class":"org.gnome.Nautilus","scratch_layer":true}
''
''
{"wm_class":"gnome-control-center","scratch_layer":true}
''
];
};
"org/gnome/shell/extensions/paperwm/keybindings" = {
@ -344,12 +388,12 @@ with lib.hm.gvariant;
live-alt-tab-scratch = [ "" ];
live-alt-tab-scratch-backward = [ "" ];
move-down = [ "<Shift><Super>Down" ];
move-down-workspace = [ "" ];
move-down-workspace = [ "<Control><Super>Down" ];
move-left = [ "<Shift><Super>Left" ];
move-monitor-above = [ "" ];
move-monitor-below = [ "" ];
move-monitor-left = [ "<Shift><Alt><Super>Left" ];
move-monitor-right = [ "<Shift><Alt><Super>Right" ];
move-monitor-left = [ "<Control><Super>Left" ];
move-monitor-right = [ "<Control><Super>Right" ];
move-previous-workspace = [ "" ];
move-previous-workspace-backward = [ "" ];
move-right = [ "<Shift><Super>Right" ];
@ -358,7 +402,7 @@ with lib.hm.gvariant;
move-space-monitor-left = [ "" ];
move-space-monitor-right = [ "" ];
move-up = [ "<Shift><Super>Up" ];
move-up-workspace = [ "" ];
move-up-workspace = [ "<Control><Super>Up" ];
new-window = [ "<Super>n" ];
previous-workspace = [ "" ];
previous-workspace-backward = [ "" ];
@ -366,7 +410,7 @@ with lib.hm.gvariant;
swap-monitor-below = [ "" ];
swap-monitor-left = [ "" ];
swap-monitor-right = [ "" ];
switch-down-workspace = [ "" ];
switch-down-workspace = [ "<Super>Page_Down" ];
switch-focus-mode = [ "<Alt><Super>a" ];
switch-monitor-above = [ "" ];
switch-monitor-below = [ "" ];
@ -375,7 +419,7 @@ with lib.hm.gvariant;
switch-next = [ "" ];
switch-open-window-position = [ "" ];
switch-previous = [ "" ];
switch-up-workspace = [ "" ];
switch-up-workspace = [ "<Super>Page_Up" ];
take-window = [ "" ];
toggle-maximize-width = [ "" ];
toggle-scratch = [ "<Super>BackSpace" ];
@ -418,29 +462,73 @@ with lib.hm.gvariant;
"org/gnome/shell/extensions/quicksettings-audio-devices-hider" = {
available-input-names = [
"Microphone \8211 USB Live camera"
"Digital Input (S/PDIF) \8211 USB Live camera"
"Microphone \8211 HyperX Cloud Alpha S"
];
available-output-names = [
"HDMI / DisplayPort 3 \8211 HD-Audio Generic"
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
"Analog Output \8211 HyperX Cloud Alpha S"
"Digital Output (S/PDIF) \8211 HyperX Cloud Alpha S"
];
excluded-input-names = [
"Digital Input (S/PDIF) \8211 USB Live camera"
"Microphone \8211 USB Live camera"
];
excluded-output-names = [
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
available-output-names = [
"Analog Output \8211 HyperX Cloud Alpha S"
"Digital Output (S/PDIF) \8211 HyperX Cloud Alpha S"
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
"HDMI / DisplayPort 3 \8211 HD-Audio Generic"
];
excluded-input-names = [
"Digital Input (S/PDIF) USB Live camera"
"Digital Input (S/PDIF) \8211 USB Live camera"
"Digital Input (S/PDIF) 8211 USB Live camera"
"Digital Input (S/PDIF) 8211 USB Live camera"
"Microphone USB Live camera"
"Microphone \8211 USB Live camera"
"Microphone 8211 USB Live camera"
"Microphone 8211 USB Live camera"
];
excluded-output-names = [
"Analog Output HyperX Cloud Alpha S"
"Analog Output \8211 HyperX Cloud Alpha S"
"Analog Output 8211 HyperX Cloud Alpha S"
"Analog Output 8211 HyperX Cloud Alpha S"
"HDMI / DisplayPort Rembrandt Radeon High Definition Audio Controller"
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
"HDMI / DisplayPort 8211 Rembrandt Radeon High Definition Audio Controller"
"HDMI / DisplayPort 8211 Rembrandt Radeon High Definition Audio Controller"
];
};
"org/gnome/shell/extensions/quicksettings-audio-devices-renamer" = {
input-names-map = ''{'Microphone USB Live camera': 'NO', 'Digital Input (S/PDIF) USB Live camera': 'NO', 'Microphone HyperX Cloud Alpha S': 'Cloud S'}'';
output-names-map = ''{'HDMI / DisplayPort 3 HD-Audio Generic': 'Navi', 'HDMI / DisplayPort Rembrandt Radeon High Definition Audio Controller': 'NO', 'Analog Output HyperX Cloud Alpha S': 'NO', 'Digital Output (S/PDIF) HyperX Cloud Alpha S': 'Cloud S', 'Dummy Output': 'Dummy Output'}'';
input-names-map = [
(lib.hm.gvariant.mkDictionaryEntry [
"Microphone USB Live camera"
"NO"
])
(lib.hm.gvariant.mkDictionaryEntry [
"Digital Input (S/PDIF) USB Live camera"
"NO"
])
(lib.hm.gvariant.mkDictionaryEntry [
"Microphone HyperX Cloud Alpha S"
"Cloud S"
])
];
output-names-map = [
(lib.hm.gvariant.mkDictionaryEntry [
"HDMI / DisplayPort 3 HD-Audio Generic"
"ROG"
])
(lib.hm.gvariant.mkDictionaryEntry [
"HDMI / DisplayPort Rembrandt Radeon High Definition Audio Controller"
"NO"
])
(lib.hm.gvariant.mkDictionaryEntry [
"Analog Output HyperX Cloud Alpha S"
"NO"
])
(lib.hm.gvariant.mkDictionaryEntry [
"Digital Output (S/PDIF) HyperX Cloud Alpha S"
"Cloud S"
])
];
# input-names-map = ''{'Microphone USB Live camera': 'NO', 'Digital Input (S/PDIF) USB Live camera': 'NO', 'Microphone HyperX Cloud Alpha S': 'Cloud S'}'';
# output-names-map = ''{'HDMI / DisplayPort 3 HD-Audio Generic': 'ROG', 'HDMI / DisplayPort Rembrandt Radeon High Definition Audio Controller': 'NO', 'Analog Output HyperX Cloud Alpha S': 'NO', 'Digital Output (S/PDIF) HyperX Cloud Alpha S': 'Cloud S'}'';
};
"org/gnome/shell/extensions/user-theme" = {
@ -471,13 +559,15 @@ with lib.hm.gvariant;
"org/gnome/shell/keybindings" = {
focus-active-notification = [ ];
screenshot = [ "Print" ];
screenshot-window = [ ];
shift-overview-down = [ ];
shift-overview-up = [ ];
show-screen-recording-ui = [ ];
show-screenshot-ui = [ "<Shift>Print" ];
toggle-application-view = [ "Home" ];
toggle-message-tray = [
"<Super>v"
"<Super>m"
];
toggle-message-tray = [ "<Super>s" ];
toggle-quick-settings = [ "<Super>a" ];
};
"org/gnome/shell/world-clocks" = {

View file

Before

Width:  |  Height:  |  Size: 6.2 MiB

After

Width:  |  Height:  |  Size: 6.2 MiB

View file

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

View file

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 189 KiB

View file

@ -0,0 +1,22 @@
{
lib,
pkgs,
...
}:
{
# imports = lib.flatten [
# ## Common Imports ##
# (map lib.custom.relativeToRoot [
# "home/global/common/development"
# ])
# ## Cloud Specific ##
# ./config
# ];
## Packages with no needed configs ##
# home.packages = builtins.attrValues {
# inherit (pkgs)
# ;
# };
}

View file

@ -1,13 +1,20 @@
{
lib,
pkgs,
config,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
];
# imports = lib.flatten [
# ## Common Imports ##
# (map lib.custom.relativeToRoot [
# "home/global/common/development"
# ])
# ## Komodo Specific ##
# ./config
# ];
home.file = {
Pool.source = config.lib.file.mkOutOfStoreSymlink "/pool";

View file

@ -0,0 +1,22 @@
{
lib,
pkgs,
...
}:
{
# imports = lib.flatten [
# ## Common Imports ##
# (map lib.custom.relativeToRoot [
# "home/global/common/development"
# ])
# ## Proxy Specific ##
# ./config
# ];
## Packages with no needed configs ##
# home.packages = builtins.attrValues {
# inherit (pkgs)
# ;
# };
}

View file

@ -1,14 +1,17 @@
{
lib,
pkgs,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
imports = lib.flatten [
## Common Imports ##
(map lib.custom.relativeToRoot [
"home/global/common/vscode-server.nix"
])
## Host-specific Optional Configs ##
../common/optional/vscode-server.nix
## Nix Specific ##
# ./config
];
## Packages with no needed configs ##

View file

@ -0,0 +1,22 @@
{
lib,
pkgs,
...
}:
{
# imports = lib.flatten [
# ## Common Imports ##
# (map lib.custom.relativeToRoot [
# "home/global/common/development"
# ])
# ## Proxy Specific ##
# ./config
# ];
## Packages with no needed configs ##
# home.packages = builtins.attrValues {
# inherit (pkgs)
# ;
# };
}

View file

@ -1,20 +1,20 @@
{
pkgs,
lib,
inputs,
config,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
## Optional Configs ##
../common/optional/browsers
../common/optional/gnome
../common/optional/development
../common/optional/gaming
../common/optional/xdg.nix
imports = lib.flatten [
## Common Imports ##
(map lib.custom.relativeToRoot [
"home/global/common/browsers"
"home/global/common/gnome"
"home/global/common/development"
"home/global/common/gaming"
"home/global/common/xdg.nix"
])
## Rune Specific ##
./config
@ -30,7 +30,8 @@
## Social ##
telegram-desktop
vesktop
discord
betterdiscordctl
## Tools ##
bitwarden-desktop

39
home/hosts/vm/default.nix Normal file
View file

@ -0,0 +1,39 @@
{
lib,
pkgs,
...
}:
{
imports = lib.flatten [
## Common Imports ##
(map lib.custom.relativeToRoot [
"home/global/common/browsers"
"home/global/common/gnome"
"home/global/common/development"
"home/global/common/vscode-server.nix"
"home/global/common/xdg.nix"
])
## VM Specific ##
# ./config
];
## Packages with no needed configs ##
home.packages = builtins.attrValues {
inherit (pkgs)
## Tools ##
inspector
foot
;
};
monitors = [
{
name = "Virtual-1";
width = 2560;
height = 1440;
refreshRate = 60;
primary = true;
}
];
}

View file

@ -1,10 +0,0 @@
{
pkgs,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
];
}

View file

@ -1,10 +0,0 @@
{
pkgs,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
];
}

View file

@ -1,16 +0,0 @@
{
pkgs,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
];
## Packages with no needed configs ##
# home.packages = builtins.attrValues {
# inherit (pkgs)
# ;
# };
}

View file

@ -1,38 +0,0 @@
{
pkgs,
...
}:
{
imports = [
## Required Configs ##
../common/core # required
## Host-specific Optional Configs ##
../common/optional/browsers
# ../common/optional/gnome
../common/optional/hyprland
../common/optional/development
# ../common/optional/gaming
../common/optional/vscode-server.nix
../common/optional/xdg.nix # file associations
];
## Packages with no needed configs ##
home.packages = builtins.attrValues {
inherit (pkgs)
## Tools ##
inspector
foot
;
};
monitors = [
{
name = "Virtual-1";
width = 2560;
height = 1440;
refreshRate = 60;
primary = true;
}
];
}

View file

@ -0,0 +1,7 @@
{
lib,
...
}:
{
imports = lib.custom.scanPaths ./.;
}

View file

@ -0,0 +1,12 @@
{
lib,
hostSpec,
...
}:
{
imports = [
(lib.custom.relativeToRoot "home/global/core")
./config
(lib.custom.relativeToRoot "home/hosts/${hostSpec.hostName}")
];
}

View file

@ -0,0 +1,7 @@
{
lib,
...
}:
{
imports = lib.custom.scanPaths ./.;
}

View file

@ -0,0 +1,12 @@
{
lib,
hostSpec,
...
}:
{
imports = [
(lib.custom.relativeToRoot "home/global/core")
./config
(lib.custom.relativeToRoot "home/hosts/${hostSpec.hostName}")
];
}

View file

@ -0,0 +1,7 @@
{
lib,
...
}:
{
imports = lib.custom.scanPaths ./.;
}

View file

@ -0,0 +1,12 @@
{
lib,
hostSpec,
...
}:
{
imports = [
(lib.custom.relativeToRoot "home/global/core")
./config
(lib.custom.relativeToRoot "home/hosts/${hostSpec.hostName}")
];
}

View file

@ -12,8 +12,6 @@
driSupport32Bit = true;
};
services.xserver.videoDrivers = [ "amdgpu" ];
programs = {
steam = {
enable = true;

View file

@ -1,20 +1,29 @@
{ pkgs, config, ... }:
{
# Enable the X11 windowing system.
## DE ##
services.xserver = {
enable = true;
# Enable the GNOME Desktop Environment.
desktopManager.gnome.enable = true;
desktopManager.gnome = {
enable = true;
extraGSettingsOverridePackages = [ pkgs.mutter ];
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
};
displayManager = {
gdm.enable = true;
gdm = {
enable = true;
wayland = true;
};
autoLogin = {
enable = true;
user = config.hostSpec.username;
};
};
# Configure keymap in X11
xkb = {
layout = "us";
variant = "";

View file

@ -19,12 +19,7 @@ in
requires = [ "pool.mount" ];
wantedBy = [ "multi-user.target" ];
script = ''
umount /pool/git
mkdir -p /pool/git
chown ${username}:ryot /pool/git
chmod 2775 /pool/git
ln -sf /pool/git ${homeDir}/git
chown -h ${username}:ryot ${homeDir}/git
'';
serviceConfig = {
Type = "oneshot";

View file

@ -88,7 +88,7 @@ in
imports = [
(
{ config, ... }:
import (lib.custom.relativeToRoot "home/${username}/${hostSpec.hostName}") {
import (lib.custom.relativeToRoot "home/users/${username}") {
inherit
config
hostSpec

View file

@ -66,6 +66,10 @@ in
asdf-vm
];
environment.sessionVariables = {
AMD_VULKAN_ICD = "RADV";
};
# https://wiki.nixos.org/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.11";
}

View file

@ -46,7 +46,10 @@
];
kernelModules = [ ];
};
kernelModules = [ "kvm-amd" ];
kernelModules = [
"kvm-amd"
"amdgpu"
];
extraModulePackages = [ ];
};