diff --git a/nixos/EDI/configuration.nix b/nixos/EDI/configuration.nix index 2c6b575..7386127 100644 --- a/nixos/EDI/configuration.nix +++ b/nixos/EDI/configuration.nix @@ -22,6 +22,8 @@ # You can also split up your configuration and import pieces of it here: # ./users.nix + ././shared-desktop/configuration.nix + # Import your generated (nixos-generate-config) hardware configuration ./hardware-configuration.nix ]; @@ -34,168 +36,8 @@ }; }; - nixpkgs = { - # You can add overlays here - overlays = [ - # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) - ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - permittedInsecurePackages = [ - "electron-22.3.27" - ]; - }; - }; - - nix = { - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - # This will add each flake input as a registry - # To make nix3 commands consistent with your flake - registry = lib.mapAttrs (_: value: {flake = value;}) inputs; - - # This will additionally add your inputs to the system's legacy channels - # Making legacy nix commands consistent as well, awesome! - nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; - - settings = { - # Enable flakes and new 'nix' command - experimental-features = "nix-command flakes"; - # Deduplicate and optimize nix store - auto-optimise-store = true; - }; - }; - - environment.systemPackages = with pkgs; [ - age - alejandra - git-filter-repo - home-manager - input-leap - libsForQt5.discover - libsForQt5.kdepim-addons - libsForQt5.kirigami2 - libsForQt5.kdeconnect-kde - libsForQt5.packagekit-qt - libportal-qt5 - noto-fonts - noto-fonts-emoji-blob-bin - noto-fonts-emoji - noisetorch - oh-my-zsh - pciutils - rsync - steam - wget - zsh - ]; - - # Enable networking - networking.networkmanager.enable = true; - - programs.steam = { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - }; - hardware.opengl.driSupport32Bit = true; # Enables support for 32bit libs that steam uses - - # Set your time zone. - time.timeZone = "Europe/Amsterdam"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - services.xserver.displayManager.defaultSession = "plasmawayland"; - programs.kdeconnect.enable = true; - - # Enable flatpak support - services.flatpak.enable = true; - services.packagekit.enable = true; - - # Configure keymap in X11 - services.xserver = { - layout = "us"; - xkbVariant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable bluetooth hardware - hardware.bluetooth.enable = true; - - # Enable fwupd daemon and user space client - services.fwupd.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - programs.zsh = { - enable = true; - }; - networking.hostName = "EDI"; - boot.loader.systemd-boot.enable = true; - boot.loader.systemd-boot.configurationLimit = 3; - boot.loader.efi.canTouchEfiVariables = true; - - users.users = { - lillian = { - isNormalUser = true; - extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf"]; - shell = pkgs.zsh; - }; - }; - - # Enable completion of system packages by zsh - environment.pathsToLink = ["/share/zsh"]; - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "unstable"; } diff --git a/nixos/GLaDOS/configuration.nix b/nixos/GLaDOS/configuration.nix index 51a2553..4b087c1 100644 --- a/nixos/GLaDOS/configuration.nix +++ b/nixos/GLaDOS/configuration.nix @@ -22,6 +22,8 @@ # You can also split up your configuration and import pieces of it here: # ./users.nix + ././shared-desktop/configuration.nix + # Import your generated (nixos-generate-config) hardware configuration ./hardware-configuration.nix ]; @@ -34,168 +36,8 @@ }; }; - nixpkgs = { - # You can add overlays here - overlays = [ - # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) - ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - permittedInsecurePackages = [ - "electron-22.3.27" - ]; - }; - }; - - nix = { - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - # This will add each flake input as a registry - # To make nix3 commands consistent with your flake - registry = lib.mapAttrs (_: value: {flake = value;}) inputs; - - # This will additionally add your inputs to the system's legacy channels - # Making legacy nix commands consistent as well, awesome! - nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; - - settings = { - # Enable flakes and new 'nix' command - experimental-features = "nix-command flakes"; - # Deduplicate and optimize nix store - auto-optimise-store = true; - }; - }; - - environment.systemPackages = with pkgs; [ - age - alejandra - git-filter-repo - home-manager - input-leap - libsForQt5.discover - libsForQt5.kdeconnect-kde - libsForQt5.kdepim-addons - libsForQt5.kirigami2 - libsForQt5.packagekit-qt - libportal-qt5 - noto-fonts - noto-fonts-emoji-blob-bin - noto-fonts-emoji - noisetorch - oh-my-zsh - pciutils - rsync - steam - wget - zsh - ]; - - # Enable networking - networking.networkmanager.enable = true; - - programs.steam = { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - }; - hardware.opengl.driSupport32Bit = true; # Enables support for 32bit libs that steam uses - - # Set your time zone. - time.timeZone = "Europe/Amsterdam"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - services.xserver.displayManager.defaultSession = "plasmawayland"; - programs.kdeconnect.enable = true; - - # Enable flatpak support - services.flatpak.enable = true; - services.packagekit.enable = true; - - # Configure keymap in X11 - services.xserver = { - layout = "us"; - xkbVariant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable bluetooth hardware - hardware.bluetooth.enable = true; - - # Enable fwupd daemon and user space client - services.fwupd.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - programs.zsh = { - enable = true; - }; - networking.hostName = "GLaDOS"; - boot.loader.systemd-boot.enable = true; - boot.loader.systemd-boot.configurationLimit = 3; - boot.loader.efi.canTouchEfiVariables = true; - - users.users = { - lillian = { - isNormalUser = true; - extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf"]; - shell = pkgs.zsh; - }; - }; - - # Enable completion of system packages by zsh - environment.pathsToLink = ["/share/zsh"]; - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "unstable"; } diff --git a/nixos/shared-desktop/configuration.nix b/nixos/shared-desktop/configuration.nix new file mode 100644 index 0000000..86c1ce2 --- /dev/null +++ b/nixos/shared-desktop/configuration.nix @@ -0,0 +1,170 @@ +# This is your system's configuration file. +# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { + nixpkgs = { + # You can add overlays here + overlays = [ + # Add overlays your own flake exports (from overlays and pkgs dir): + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + + # You can also add overlays exported from other flakes: + # neovim-nightly-overlay.overlays.default + + # Or define it inline, for example: + # (final: prev: { + # hi = final.hello.overrideAttrs (oldAttrs: { + # patches = [ ./change-hello-to-hi.patch ]; + # }); + # }) + ]; + # Configure your nixpkgs instance + config = { + # Disable if you don't want unfree packages + allowUnfree = true; + permittedInsecurePackages = [ + "electron-22.3.27" + ]; + }; + }; + + nix = { + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: {flake = value;}) inputs; + + # This will additionally add your inputs to the system's legacy channels + # Making legacy nix commands consistent as well, awesome! + nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; + + settings = { + # Enable flakes and new 'nix' command + experimental-features = "nix-command flakes"; + # Deduplicate and optimize nix store + auto-optimise-store = true; + }; + }; + + environment.systemPackages = with pkgs; [ + age + alejandra + git-filter-repo + home-manager + input-leap + libsForQt5.discover + libsForQt5.kdepim-addons + libsForQt5.kirigami2 + libsForQt5.kdeconnect-kde + libsForQt5.packagekit-qt + libportal-qt5 + noto-fonts + noto-fonts-emoji-blob-bin + noto-fonts-emoji + noisetorch + oh-my-zsh + pciutils + rsync + steam + wget + zsh + ]; + + # Enable networking + networking.networkmanager.enable = true; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + }; + hardware.opengl.driSupport32Bit = true; # Enables support for 32bit libs that steam uses + + # Set your time zone. + time.timeZone = "Europe/Amsterdam"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the KDE Plasma Desktop Environment. + services.xserver.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; + services.xserver.displayManager.defaultSession = "plasmawayland"; + programs.kdeconnect.enable = true; + + # Enable flatpak support + services.flatpak.enable = true; + services.packagekit.enable = true; + + # Configure keymap in X11 + services.xserver = { + layout = "us"; + xkbVariant = ""; + }; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable bluetooth hardware + hardware.bluetooth.enable = true; + + # Enable fwupd daemon and user space client + services.fwupd.enable = true; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + programs.zsh = { + enable = true; + }; + + boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.configurationLimit = 3; + boot.loader.efi.canTouchEfiVariables = true; + + users.users = { + lillian = { + isNormalUser = true; + extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf"]; + shell = pkgs.zsh; + }; + }; + + # Enable completion of system packages by zsh + environment.pathsToLink = ["/share/zsh"]; +}