Compare commits
6 commits
7a0a62fd88
...
270ebded3d
Author | SHA1 | Date | |
---|---|---|---|
270ebded3d | |||
eecdf2ff1c | |||
a8c3b7e851 | |||
54ad243c75 | |||
41ceef3e77 | |||
6f53e978bb |
25
flake.lock
generated
|
@ -274,11 +274,11 @@
|
||||||
},
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747129300,
|
"lastModified": 1747684167,
|
||||||
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=",
|
"narHash": "sha256-l6jbonaboCBlB8lCjBkrqgh2zEnvt6F3f4dOU/8CLd4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "e81fd167b33121269149c57806599045fd33eeed",
|
"rev": "e8f38b2c19c0647e39021c3d47172ff5469af8a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -358,11 +358,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747594704,
|
"lastModified": 1747620037,
|
||||||
"narHash": "sha256-IAUIY96BaMM4o+BeMLcviBji/Xais7WfU5TIPjgPEEQ=",
|
"narHash": "sha256-M5yyl1Cp5rolwGBuCEKXG6qJj9lao16lshqPF83z0qs=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "1c04e472eafbd37d82af17769d45932e39b37b76",
|
"rev": "5d7985a2d5c877f6a276a2b024fff6bb2995ff24",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -626,11 +626,11 @@
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747605783,
|
"lastModified": 1747675820,
|
||||||
"narHash": "sha256-4t7Kmy+CTemV9QMgLXrTkz+33y31Z1V2Cl/mrbyf6Mc=",
|
"narHash": "sha256-Z8o3Tu/FN4GOtZl4WNY0Gcp/Uzuz06ILkRy0oPVteM0=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "c8f09c164b6490613ccee5a083f22095385bef5c",
|
"rev": "f8833c5e0c64287cd51a27e6061a88f4225b6b70",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -749,17 +749,16 @@
|
||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716423189,
|
"lastModified": 1735730497,
|
||||||
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
34
flake.nix
|
@ -3,9 +3,6 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
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-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
@ -79,21 +76,16 @@
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
|
|
||||||
ARM = "aarch64-linux"; # ARM systems
|
ARM = "aarch64-linux";
|
||||||
X86 = "x86_64-linux"; # x86_64 systems
|
X86 = "x86_64-linux";
|
||||||
|
|
||||||
#
|
|
||||||
# ========= Architectures =========
|
|
||||||
#
|
|
||||||
forAllSystems = nixpkgs.lib.genAttrs [
|
forAllSystems = nixpkgs.lib.genAttrs [
|
||||||
ARM
|
ARM
|
||||||
X86
|
X86
|
||||||
];
|
];
|
||||||
|
|
||||||
#
|
## Host Config ##
|
||||||
# ========= Host Config Functions =========
|
|
||||||
#
|
|
||||||
# Handle a given host config based on whether its underlying system is nixos or darwin
|
|
||||||
mkHost = host: isARM: {
|
mkHost = host: isARM: {
|
||||||
${host} =
|
${host} =
|
||||||
let
|
let
|
||||||
|
@ -108,14 +100,12 @@
|
||||||
isARM
|
isARM
|
||||||
;
|
;
|
||||||
system = systemFunc;
|
system = systemFunc;
|
||||||
# ========== Extend lib with lib.custom ==========
|
# INFO: Extend lib with lib.custom; This approach allows lib.custom to propagate into hm
|
||||||
# NOTE: This approach allows lib.custom to propagate into hm
|
|
||||||
# see: https://github.com/nix-community/home-manager/pull/3454
|
|
||||||
lib = nixpkgs.lib.extend (self: super: { custom = import ./lib { inherit (nixpkgs) lib; }; });
|
lib = nixpkgs.lib.extend (self: super: { custom = import ./lib { inherit (nixpkgs) lib; }; });
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# Apply the overlays to make custom packages available
|
|
||||||
{
|
{
|
||||||
|
#INFO: Overlay application for custom packages
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
self.overlays.default
|
self.overlays.default
|
||||||
];
|
];
|
||||||
|
@ -133,25 +123,13 @@
|
||||||
# Invoke mkHost for each host config that is declared for either X86 or ARM
|
# Invoke mkHost for each host config that is declared for either X86 or ARM
|
||||||
mkHostConfigs =
|
mkHostConfigs =
|
||||||
hosts: isARM: lib.foldl (acc: set: acc // set) { } (lib.map (host: mkHost host isARM) hosts);
|
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});
|
readHosts = folder: lib.attrNames (builtins.readDir ./hosts/${folder});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
#
|
|
||||||
# ========= Overlays =========
|
|
||||||
#
|
|
||||||
# Custom modifications/overrides to upstream packages.
|
|
||||||
overlays = import ./overlays { inherit inputs; };
|
overlays = import ./overlays { inherit inputs; };
|
||||||
|
|
||||||
#
|
|
||||||
# ========= Host Configurations =========
|
|
||||||
#
|
|
||||||
# Building configurations is available through `just rebuild` or `nixos-rebuild --flake .#hostname`
|
|
||||||
nixosConfigurations = mkHostConfigs (readHosts "nixos") false;
|
nixosConfigurations = mkHostConfigs (readHosts "nixos") false;
|
||||||
|
|
||||||
# ========= Packages =========
|
|
||||||
#
|
|
||||||
# Add custom packages to be shared or upstreamed.
|
|
||||||
packages = forAllSystems (
|
packages = forAllSystems (
|
||||||
system:
|
system:
|
||||||
let
|
let
|
||||||
|
|
|
@ -89,6 +89,8 @@ with lib.hm.gvariant;
|
||||||
"<Shift><Super>Above_Tab"
|
"<Shift><Super>Above_Tab"
|
||||||
"<Shift><Alt>Above_Tab"
|
"<Shift><Alt>Above_Tab"
|
||||||
];
|
];
|
||||||
|
switch-input-source = [ ];
|
||||||
|
switch-input-source-backward = [ ];
|
||||||
switch-panels = [ "<Control><Alt>Tab" ];
|
switch-panels = [ "<Control><Alt>Tab" ];
|
||||||
switch-panels-backward = [ "<Shift><Control><Alt>Tab" ];
|
switch-panels-backward = [ "<Shift><Control><Alt>Tab" ];
|
||||||
switch-to-workspace-1 = [ ];
|
switch-to-workspace-1 = [ ];
|
||||||
|
@ -102,6 +104,14 @@ with lib.hm.gvariant;
|
||||||
unmaximize = [ ];
|
unmaximize = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
|
num-workspaces = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
experimental-features = [ "scale-monitor-framebuffer" ];
|
||||||
|
};
|
||||||
|
|
||||||
"org/gnome/nautilus/preferences" = {
|
"org/gnome/nautilus/preferences" = {
|
||||||
default-folder-viewer = "icon-view";
|
default-folder-viewer = "icon-view";
|
||||||
migrated-gtk-settings = true;
|
migrated-gtk-settings = true;
|
||||||
|
@ -116,12 +126,21 @@ with lib.hm.gvariant;
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
www = [ "<Super>w" ];
|
|
||||||
custom-keybindings = [
|
custom-keybindings = [
|
||||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
"/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/custom1/"
|
||||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
|
"/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" = {
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||||
|
@ -166,7 +185,7 @@ with lib.hm.gvariant;
|
||||||
"zen.desktop"
|
"zen.desktop"
|
||||||
"code.desktop"
|
"code.desktop"
|
||||||
"spotify.desktop"
|
"spotify.desktop"
|
||||||
"vesktop.desktop"
|
"discord.desktop"
|
||||||
"org.telegram.desktop.desktop"
|
"org.telegram.desktop.desktop"
|
||||||
"appeditor-local-application-1.desktop"
|
"appeditor-local-application-1.desktop"
|
||||||
"Ryujinx.desktop"
|
"Ryujinx.desktop"
|
||||||
|
@ -201,6 +220,13 @@ with lib.hm.gvariant;
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/applications" = {
|
"org/gnome/shell/extensions/blur-my-shell/applications" = {
|
||||||
|
blacklist = [
|
||||||
|
"Plank"
|
||||||
|
"com.desktop.ding"
|
||||||
|
"Conky"
|
||||||
|
".gamescope-wrapped"
|
||||||
|
"steam_app_2993780"
|
||||||
|
];
|
||||||
blur = true;
|
blur = true;
|
||||||
dynamic-opacity = false;
|
dynamic-opacity = false;
|
||||||
enable-all = true;
|
enable-all = true;
|
||||||
|
@ -288,7 +314,9 @@ with lib.hm.gvariant;
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/shell/extensions/pano" = {
|
"org/gnome/shell/extensions/pano" = {
|
||||||
history-length = 100;
|
global-shortcut = [ "<Super>v" ];
|
||||||
|
history-length = 500;
|
||||||
|
incognito-shortcut = [ "<Shift><Super>v" ];
|
||||||
is-in-incognito = false;
|
is-in-incognito = false;
|
||||||
window-position = mkUint32 2;
|
window-position = mkUint32 2;
|
||||||
};
|
};
|
||||||
|
@ -327,7 +355,23 @@ with lib.hm.gvariant;
|
||||||
vertical-margin = 8;
|
vertical-margin = 8;
|
||||||
vertical-margin-bottom = 8;
|
vertical-margin-bottom = 8;
|
||||||
window-gap = 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" = {
|
"org/gnome/shell/extensions/paperwm/keybindings" = {
|
||||||
|
@ -344,12 +388,12 @@ with lib.hm.gvariant;
|
||||||
live-alt-tab-scratch = [ "" ];
|
live-alt-tab-scratch = [ "" ];
|
||||||
live-alt-tab-scratch-backward = [ "" ];
|
live-alt-tab-scratch-backward = [ "" ];
|
||||||
move-down = [ "<Shift><Super>Down" ];
|
move-down = [ "<Shift><Super>Down" ];
|
||||||
move-down-workspace = [ "" ];
|
move-down-workspace = [ "<Control><Super>Down" ];
|
||||||
move-left = [ "<Shift><Super>Left" ];
|
move-left = [ "<Shift><Super>Left" ];
|
||||||
move-monitor-above = [ "" ];
|
move-monitor-above = [ "" ];
|
||||||
move-monitor-below = [ "" ];
|
move-monitor-below = [ "" ];
|
||||||
move-monitor-left = [ "<Shift><Alt><Super>Left" ];
|
move-monitor-left = [ "<Control><Super>Left" ];
|
||||||
move-monitor-right = [ "<Shift><Alt><Super>Right" ];
|
move-monitor-right = [ "<Control><Super>Right" ];
|
||||||
move-previous-workspace = [ "" ];
|
move-previous-workspace = [ "" ];
|
||||||
move-previous-workspace-backward = [ "" ];
|
move-previous-workspace-backward = [ "" ];
|
||||||
move-right = [ "<Shift><Super>Right" ];
|
move-right = [ "<Shift><Super>Right" ];
|
||||||
|
@ -358,7 +402,7 @@ with lib.hm.gvariant;
|
||||||
move-space-monitor-left = [ "" ];
|
move-space-monitor-left = [ "" ];
|
||||||
move-space-monitor-right = [ "" ];
|
move-space-monitor-right = [ "" ];
|
||||||
move-up = [ "<Shift><Super>Up" ];
|
move-up = [ "<Shift><Super>Up" ];
|
||||||
move-up-workspace = [ "" ];
|
move-up-workspace = [ "<Control><Super>Up" ];
|
||||||
new-window = [ "<Super>n" ];
|
new-window = [ "<Super>n" ];
|
||||||
previous-workspace = [ "" ];
|
previous-workspace = [ "" ];
|
||||||
previous-workspace-backward = [ "" ];
|
previous-workspace-backward = [ "" ];
|
||||||
|
@ -366,7 +410,7 @@ with lib.hm.gvariant;
|
||||||
swap-monitor-below = [ "" ];
|
swap-monitor-below = [ "" ];
|
||||||
swap-monitor-left = [ "" ];
|
swap-monitor-left = [ "" ];
|
||||||
swap-monitor-right = [ "" ];
|
swap-monitor-right = [ "" ];
|
||||||
switch-down-workspace = [ "" ];
|
switch-down-workspace = [ "<Super>Page_Down" ];
|
||||||
switch-focus-mode = [ "<Alt><Super>a" ];
|
switch-focus-mode = [ "<Alt><Super>a" ];
|
||||||
switch-monitor-above = [ "" ];
|
switch-monitor-above = [ "" ];
|
||||||
switch-monitor-below = [ "" ];
|
switch-monitor-below = [ "" ];
|
||||||
|
@ -375,7 +419,7 @@ with lib.hm.gvariant;
|
||||||
switch-next = [ "" ];
|
switch-next = [ "" ];
|
||||||
switch-open-window-position = [ "" ];
|
switch-open-window-position = [ "" ];
|
||||||
switch-previous = [ "" ];
|
switch-previous = [ "" ];
|
||||||
switch-up-workspace = [ "" ];
|
switch-up-workspace = [ "<Super>Page_Up" ];
|
||||||
take-window = [ "" ];
|
take-window = [ "" ];
|
||||||
toggle-maximize-width = [ "" ];
|
toggle-maximize-width = [ "" ];
|
||||||
toggle-scratch = [ "<Super>BackSpace" ];
|
toggle-scratch = [ "<Super>BackSpace" ];
|
||||||
|
@ -418,29 +462,73 @@ with lib.hm.gvariant;
|
||||||
|
|
||||||
"org/gnome/shell/extensions/quicksettings-audio-devices-hider" = {
|
"org/gnome/shell/extensions/quicksettings-audio-devices-hider" = {
|
||||||
available-input-names = [
|
available-input-names = [
|
||||||
"Microphone \8211 USB Live camera"
|
|
||||||
"Digital Input (S/PDIF) \8211 USB Live camera"
|
"Digital Input (S/PDIF) \8211 USB Live camera"
|
||||||
"Microphone \8211 HyperX Cloud Alpha S"
|
"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"
|
"Microphone \8211 USB Live camera"
|
||||||
];
|
];
|
||||||
excluded-output-names = [
|
available-output-names = [
|
||||||
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
|
|
||||||
"Analog Output \8211 HyperX Cloud Alpha S"
|
"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" = {
|
"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'}'';
|
input-names-map = [
|
||||||
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'}'';
|
(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" = {
|
"org/gnome/shell/extensions/user-theme" = {
|
||||||
|
@ -471,13 +559,15 @@ with lib.hm.gvariant;
|
||||||
|
|
||||||
"org/gnome/shell/keybindings" = {
|
"org/gnome/shell/keybindings" = {
|
||||||
focus-active-notification = [ ];
|
focus-active-notification = [ ];
|
||||||
|
screenshot = [ "Print" ];
|
||||||
|
screenshot-window = [ ];
|
||||||
shift-overview-down = [ ];
|
shift-overview-down = [ ];
|
||||||
shift-overview-up = [ ];
|
shift-overview-up = [ ];
|
||||||
|
show-screen-recording-ui = [ ];
|
||||||
|
show-screenshot-ui = [ "<Shift>Print" ];
|
||||||
toggle-application-view = [ "Home" ];
|
toggle-application-view = [ "Home" ];
|
||||||
toggle-message-tray = [
|
toggle-message-tray = [ "<Super>s" ];
|
||||||
"<Super>v"
|
toggle-quick-settings = [ "<Super>a" ];
|
||||||
"<Super>m"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/shell/world-clocks" = {
|
"org/gnome/shell/world-clocks" = {
|
Before Width: | Height: | Size: 6.2 MiB After Width: | Height: | Size: 6.2 MiB |
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 2.9 MiB |
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 189 KiB |
22
home/hosts/cloud/default.nix
Normal 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)
|
||||||
|
# ;
|
||||||
|
# };
|
||||||
|
}
|
|
@ -1,13 +1,20 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
|
||||||
## Required Configs ##
|
# imports = lib.flatten [
|
||||||
../common/core # required
|
# ## Common Imports ##
|
||||||
];
|
# (map lib.custom.relativeToRoot [
|
||||||
|
# "home/global/common/development"
|
||||||
|
# ])
|
||||||
|
|
||||||
|
# ## Komodo Specific ##
|
||||||
|
# ./config
|
||||||
|
# ];
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
Pool.source = config.lib.file.mkOutOfStoreSymlink "/pool";
|
Pool.source = config.lib.file.mkOutOfStoreSymlink "/pool";
|
22
home/hosts/lxc/default.nix
Normal 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)
|
||||||
|
# ;
|
||||||
|
# };
|
||||||
|
}
|
|
@ -1,14 +1,17 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = lib.flatten [
|
||||||
## Required Configs ##
|
## Common Imports ##
|
||||||
../common/core # required
|
(map lib.custom.relativeToRoot [
|
||||||
|
"home/global/common/vscode-server.nix"
|
||||||
|
])
|
||||||
|
|
||||||
## Host-specific Optional Configs ##
|
## Nix Specific ##
|
||||||
../common/optional/vscode-server.nix
|
# ./config
|
||||||
];
|
];
|
||||||
|
|
||||||
## Packages with no needed configs ##
|
## Packages with no needed configs ##
|
22
home/hosts/proxy/default.nix
Normal 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)
|
||||||
|
# ;
|
||||||
|
# };
|
||||||
|
}
|
|
@ -1,20 +1,20 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = lib.flatten [
|
||||||
## Required Configs ##
|
## Common Imports ##
|
||||||
../common/core # required
|
(map lib.custom.relativeToRoot [
|
||||||
|
"home/global/common/browsers"
|
||||||
## Optional Configs ##
|
"home/global/common/gnome"
|
||||||
../common/optional/browsers
|
"home/global/common/development"
|
||||||
../common/optional/gnome
|
"home/global/common/gaming"
|
||||||
../common/optional/development
|
"home/global/common/xdg.nix"
|
||||||
../common/optional/gaming
|
])
|
||||||
../common/optional/xdg.nix
|
|
||||||
|
|
||||||
## Rune Specific ##
|
## Rune Specific ##
|
||||||
./config
|
./config
|
||||||
|
@ -30,7 +30,8 @@
|
||||||
|
|
||||||
## Social ##
|
## Social ##
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
vesktop
|
discord
|
||||||
|
betterdiscordctl
|
||||||
|
|
||||||
## Tools ##
|
## Tools ##
|
||||||
bitwarden-desktop
|
bitwarden-desktop
|
39
home/hosts/vm/default.nix
Normal 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;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
## Required Configs ##
|
|
||||||
../common/core # required
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
## Required Configs ##
|
|
||||||
../common/core # required
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
## Required Configs ##
|
|
||||||
../common/core # required
|
|
||||||
];
|
|
||||||
|
|
||||||
## Packages with no needed configs ##
|
|
||||||
# home.packages = builtins.attrValues {
|
|
||||||
# inherit (pkgs)
|
|
||||||
# ;
|
|
||||||
# };
|
|
||||||
}
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
7
home/users/cesar/config/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = lib.custom.scanPaths ./.;
|
||||||
|
}
|
12
home/users/cesar/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
hostSpec,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(lib.custom.relativeToRoot "home/global/core")
|
||||||
|
./config
|
||||||
|
(lib.custom.relativeToRoot "home/hosts/${hostSpec.hostName}")
|
||||||
|
];
|
||||||
|
}
|
7
home/users/gio/config/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = lib.custom.scanPaths ./.;
|
||||||
|
}
|
12
home/users/gio/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
hostSpec,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(lib.custom.relativeToRoot "home/global/core")
|
||||||
|
./config
|
||||||
|
(lib.custom.relativeToRoot "home/hosts/${hostSpec.hostName}")
|
||||||
|
];
|
||||||
|
}
|
7
home/users/toph/config/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = lib.custom.scanPaths ./.;
|
||||||
|
}
|
12
home/users/toph/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
hostSpec,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(lib.custom.relativeToRoot "home/global/core")
|
||||||
|
./config
|
||||||
|
(lib.custom.relativeToRoot "home/hosts/${hostSpec.hostName}")
|
||||||
|
];
|
||||||
|
}
|
|
@ -12,8 +12,6 @@
|
||||||
driSupport32Bit = true;
|
driSupport32Bit = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,20 +1,29 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
# Enable the X11 windowing system.
|
## DE ##
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
desktopManager.gnome = {
|
||||||
desktopManager.gnome.enable = true;
|
enable = true;
|
||||||
|
extraGSettingsOverridePackages = [ pkgs.mutter ];
|
||||||
|
extraGSettingsOverrides = ''
|
||||||
|
[org.gnome.mutter]
|
||||||
|
experimental-features=['scale-monitor-framebuffer']
|
||||||
|
'';
|
||||||
|
};
|
||||||
displayManager = {
|
displayManager = {
|
||||||
gdm.enable = true;
|
gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
autoLogin = {
|
autoLogin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = config.hostSpec.username;
|
user = config.hostSpec.username;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
xkb = {
|
xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
variant = "";
|
variant = "";
|
||||||
|
|
|
@ -19,12 +19,7 @@ in
|
||||||
requires = [ "pool.mount" ];
|
requires = [ "pool.mount" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
script = ''
|
script = ''
|
||||||
umount /pool/git
|
|
||||||
mkdir -p /pool/git
|
|
||||||
chown ${username}:ryot /pool/git
|
|
||||||
chmod 2775 /pool/git
|
|
||||||
ln -sf /pool/git ${homeDir}/git
|
ln -sf /pool/git ${homeDir}/git
|
||||||
chown -h ${username}:ryot ${homeDir}/git
|
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
|
@ -88,7 +88,7 @@ in
|
||||||
imports = [
|
imports = [
|
||||||
(
|
(
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
import (lib.custom.relativeToRoot "home/${username}/${hostSpec.hostName}") {
|
import (lib.custom.relativeToRoot "home/users/${username}") {
|
||||||
inherit
|
inherit
|
||||||
config
|
config
|
||||||
hostSpec
|
hostSpec
|
||||||
|
|
|
@ -66,6 +66,10 @@ in
|
||||||
asdf-vm
|
asdf-vm
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
AMD_VULKAN_ICD = "RADV";
|
||||||
|
};
|
||||||
|
|
||||||
# https://wiki.nixos.org/wiki/FAQ/When_do_I_update_stateVersion
|
# https://wiki.nixos.org/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,10 @@
|
||||||
];
|
];
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [
|
||||||
|
"kvm-amd"
|
||||||
|
"amdgpu"
|
||||||
|
];
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|