Compare commits

...

4 Commits

8 changed files with 118 additions and 13 deletions

View File

@ -3,8 +3,8 @@
imports = [ imports = [
./android.nix ./android.nix
./base.nix ./base.nix
./cache.nix
./cache-server.nix ./cache-server.nix
./cache.nix
./code.nix ./code.nix
./desktop.nix ./desktop.nix
./environment.nix ./environment.nix
@ -12,8 +12,9 @@
./extra.nix ./extra.nix
./games.nix ./games.nix
./git-sync.nix ./git-sync.nix
./gitea.nix
./gitea-runner.nix ./gitea-runner.nix
./gitea.nix
./gnome.nix
./imalison.nix ./imalison.nix
./internet-computer.nix ./internet-computer.nix
./kat.nix ./kat.nix
@ -21,6 +22,7 @@
./nix.nix ./nix.nix
./nixified.ai.nix ./nixified.ai.nix
./options.nix ./options.nix
./plasma.nix
./secrets.nix ./secrets.nix
./ssh.nix ./ssh.nix
./syncthing.nix ./syncthing.nix
@ -36,12 +38,14 @@
config = lib.mkIf config.features.full.enable { config = lib.mkIf config.features.full.enable {
modules.base.enable = true; modules.base.enable = true;
modules.desktop.enable = true; modules.desktop.enable = true;
modules.plasma.enable = true;
modules.gnome.enable = false;
modules.xmonad.enable = true; modules.xmonad.enable = true;
modules.extra.enable = true; modules.extra.enable = true;
modules.code.enable = true; modules.code.enable = true;
modules.games.enable = true; modules.games.enable = true;
modules.syncthing.enable = true; modules.syncthing.enable = true;
modules.fonts.enable = true; modules.fonts.enable = true;
modules.nixified-ai.enable = true; modules.nixified-ai.enable = false;
}; };
} }

View File

@ -1,4 +1,4 @@
{ config, pkgs, options, inputs, makeEnable, forEachUser, ... }: { config, pkgs, makeEnable, forEachUser, ... }:
makeEnable config "modules.desktop" true { makeEnable config "modules.desktop" true {
imports = [ imports = [
./fonts.nix ./fonts.nix
@ -8,13 +8,7 @@ makeEnable config "modules.desktop" true {
exportConfiguration = true; exportConfiguration = true;
enable = true; enable = true;
layout = "us"; layout = "us";
desktopManager = {
plasma5.enable = true;
};
displayManager = { displayManager = {
sddm = {
enable = true;
};
sessionCommands = '' sessionCommands = ''
systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH
''; '';

View File

@ -154,7 +154,7 @@
inherit inputs machineNames; inherit inputs machineNames;
makeEnable = (import ./make-enable.nix) nixpkgs.lib; makeEnable = (import ./make-enable.nix) nixpkgs.lib;
mapValueToKeys = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys); mapValueToKeys = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys);
realUsers = [ "root" "imalison" "kat" "dean" "alex" ]; realUsers = [ "root" "imalison" "kat" "dean" "alex" "will" ];
forEachUser = mapValueToKeys realUsers; forEachUser = mapValueToKeys realUsers;
keys = (import ./keys.nix); keys = (import ./keys.nix);
} // specialArgs; } // specialArgs;

7
nixos/gnome.nix Normal file
View File

@ -0,0 +1,7 @@
{ config, makeEnable, ... }:
makeEnable config "modules.gnome" false {
services.xserver = {
desktopManager.gnome3.enable = true;
displayManager.gdm.enable = true;
};
}

View File

@ -34,7 +34,9 @@ rec {
andyKeys = [ andyKeys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqBnDZXcZIMtOTPxg4pJWyMyNp84kpU2uH88aCkrhMBY2TI4dqAXGY4h1DOyOEyQo9nTgyvdlv4M1Hlp5tzfbuapdTWtt36gb+FKpsTUy8dz45fhKJerUszNbVQ+SpZu4ZFN4Nv9eP3AHO+Mzjcvbf666VMDEzZWu2totd7jxyI9PdK78TD5AOi+kGTtbEgqMpJCcZmJlzJ9NJJ2ejhPCRwcfDrShHcfMeEwWL5MmnzT+WstkRwJAM0f9/ks77jWDnB1Eu55rQykU8zVZ1nz1GiXZcxUpm6B0IRhwn8NGH6nVzSLITtO5eJ7LPQR9XNUODpbrsVGNK6jgGql9gZpYp andy@nixos" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqBnDZXcZIMtOTPxg4pJWyMyNp84kpU2uH88aCkrhMBY2TI4dqAXGY4h1DOyOEyQo9nTgyvdlv4M1Hlp5tzfbuapdTWtt36gb+FKpsTUy8dz45fhKJerUszNbVQ+SpZu4ZFN4Nv9eP3AHO+Mzjcvbf666VMDEzZWu2totd7jxyI9PdK78TD5AOi+kGTtbEgqMpJCcZmJlzJ9NJJ2ejhPCRwcfDrShHcfMeEwWL5MmnzT+WstkRwJAM0f9/ks77jWDnB1Eu55rQykU8zVZ1nz1GiXZcxUpm6B0IRhwn8NGH6nVzSLITtO5eJ7LPQR9XNUODpbrsVGNK6jgGql9gZpYp andy@nixos"
]; ];
willKeys = []; willKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILgLjW6R+dTEmlUoPfE4GA8gRn93UlcSJqlJP1xw0KWl willgester@gmail.com"
];
loewyKeys = [ loewyKeys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDROb8zcXAgqR3xNpStjt8kSL2Tnic+aWVlQRkmmLveay0RDPatHVKiWtscBoFYvL19xwpi692nZjyPAGQBLMquVx8rexHUFVbs6UVM41Y/QV0UZLSlVM7xNl3nL/dQoxT8OC2a9WJThNm41EjFzzKAuUaWqjm4+uEsC9felBIzndlA5/bIn6EUkMb2X8qmOOIOod1UeVZeK0fWMoDdKsHtQjiQrrP4nLjOmrTQ+BF2yUHwFbW6SCQiXT1Jzq4zymnI717ZraTK0nXzl8amLrGGrh36TrR7pv9hWLeNIMCARvOtABMdQmrT1dI4FxLK1uKM696uzfoaZDUn58G2VGrd loewy gitlab" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDROb8zcXAgqR3xNpStjt8kSL2Tnic+aWVlQRkmmLveay0RDPatHVKiWtscBoFYvL19xwpi692nZjyPAGQBLMquVx8rexHUFVbs6UVM41Y/QV0UZLSlVM7xNl3nL/dQoxT8OC2a9WJThNm41EjFzzKAuUaWqjm4+uEsC9felBIzndlA5/bIn6EUkMb2X8qmOOIOod1UeVZeK0fWMoDdKsHtQjiQrrP4nLjOmrTQ+BF2yUHwFbW6SCQiXT1Jzq4zymnI717ZraTK0nXzl8amLrGGrh36TrR7pv9hWLeNIMCARvOtABMdQmrT1dI4FxLK1uKM696uzfoaZDUn58G2VGrd loewy gitlab"
]; ];

View File

@ -0,0 +1,92 @@
{ config, lib, pkgs, forEachUser, ... }:
{
imports = [
../configuration.nix
];
networking.hostName = "railbird-sf";
hardware.enableRedistributableFirmware = true;
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
services.xserver = {
videoDrivers = [ "nvidia" ];
};
# Enable OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
features.full.enable = false;
modules.base.enable = true;
modules.desktop.enable = true;
modules.xmonad.enable = true;
modules.gnome.enable = true;
modules.code.enable = true;
modules.syncthing.enable = true;
modules.fonts.enable = true;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/a317d456-6f84-41ee-a149-8e466e414aae";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/B875-39D4";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/129345f3-e1e1-4d45-9db9-643160c6d564"; }
];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
home-manager.users = forEachUser {
home.stateVersion = "23.11";
};
system.stateVersion = "23.11";
}

View File

@ -11,7 +11,6 @@ specialArgs.makeEnable config "modules.nixified-ai" false {
services.invokeai = { services.invokeai = {
enable = false; enable = false;
host = "0.0.0.0"; host = "0.0.0.0";
nsfwChecker = false;
package = inputs.nixified-ai.packages.${config.nixpkgs.system}.invokeai-nvidia; package = inputs.nixified-ai.packages.${config.nixpkgs.system}.invokeai-nvidia;
}; };
} }

7
nixos/plasma.nix Normal file
View File

@ -0,0 +1,7 @@
{ config, makeEnable, ... }:
makeEnable config "modules.plasma" true {
services.xserver = {
desktopManager.plasma5.enable = true;
displayManager.sddm.enable = true;
};
}