commit 89ef2e226ad3f99cbd0c0959feb59fff6fd26804 Author: Leo Date: Sun Mar 23 09:39:46 2025 +0100 first commit diff --git a/clean.nix b/clean.nix new file mode 100644 index 0000000..d7cdc00 --- /dev/null +++ b/clean.nix @@ -0,0 +1,14 @@ +{ lib, pkgs, ... }: + +{ + #weekly update + system.autoUpgrade.enable = true; + system.autoUpgrade.dates = "weekly"; + + #auto cleanuo + nix.gc.automatic = true; + nix.gc.dates = "daily"; + nix.gc.options = "--delete-older-than 10d"; + nix.settings.auto-optimise-store = true; + +} diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..cb61e5e --- /dev/null +++ b/configuration.nix @@ -0,0 +1,146 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ./vm.nix + ./clean.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + + system.stateVersion = "24.11"; + + +} diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250322_235411/configuration.nix b/history/20250322_235411/configuration.nix new file mode 100644 index 0000000..0f4280d --- /dev/null +++ b/history/20250322_235411/configuration.nix @@ -0,0 +1,162 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + (nerdfonts.override { fonts = [ "ProFont" ]; }) + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250322_235411/hardware-configuration.nix b/history/20250322_235411/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250322_235411/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250322_235411/home.nix b/history/20250322_235411/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250322_235411/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_004214/configuration.nix b/history/20250323_004214/configuration.nix new file mode 100644 index 0000000..f0220ca --- /dev/null +++ b/history/20250323_004214/configuration.nix @@ -0,0 +1,163 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + (nerdfonts.override { fonts = [ "ProFont" ]; }) + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_004214/hardware-configuration.nix b/history/20250323_004214/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_004214/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_004214/home.nix b/history/20250323_004214/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_004214/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_005145/configuration.nix b/history/20250323_005145/configuration.nix new file mode 100644 index 0000000..2a92bfe --- /dev/null +++ b/history/20250323_005145/configuration.nix @@ -0,0 +1,164 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_005145/hardware-configuration.nix b/history/20250323_005145/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_005145/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_005145/home.nix b/history/20250323_005145/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_005145/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_081420/configuration.nix b/history/20250323_081420/configuration.nix new file mode 100644 index 0000000..418c347 --- /dev/null +++ b/history/20250323_081420/configuration.nix @@ -0,0 +1,173 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation.libvirtd.enable = true; + + virtualisation.spiceUSBRedirection.enable = true; + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_081420/hardware-configuration.nix b/history/20250323_081420/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_081420/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_081420/home.nix b/history/20250323_081420/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_081420/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_081610/configuration.nix b/history/20250323_081610/configuration.nix new file mode 100644 index 0000000..f79d4e4 --- /dev/null +++ b/history/20250323_081610/configuration.nix @@ -0,0 +1,191 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_081610/hardware-configuration.nix b/history/20250323_081610/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_081610/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_081610/home.nix b/history/20250323_081610/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_081610/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_081736/configuration.nix b/history/20250323_081736/configuration.nix new file mode 100644 index 0000000..4ac495b --- /dev/null +++ b/history/20250323_081736/configuration.nix @@ -0,0 +1,196 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.dconf.enable = true; + + users.users.gcis.extraGroups = [ "libvirtd" ]; + + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_081736/hardware-configuration.nix b/history/20250323_081736/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_081736/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_081736/home.nix b/history/20250323_081736/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_081736/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_081809/configuration.nix b/history/20250323_081809/configuration.nix new file mode 100644 index 0000000..f79d4e4 --- /dev/null +++ b/history/20250323_081809/configuration.nix @@ -0,0 +1,191 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_081809/hardware-configuration.nix b/history/20250323_081809/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_081809/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_081809/home.nix b/history/20250323_081809/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_081809/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_082333/configuration.nix b/history/20250323_082333/configuration.nix new file mode 100644 index 0000000..12652e3 --- /dev/null +++ b/history/20250323_082333/configuration.nix @@ -0,0 +1,194 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_082333/hardware-configuration.nix b/history/20250323_082333/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_082333/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_082333/home.nix b/history/20250323_082333/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_082333/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_085420/configuration.nix b/history/20250323_085420/configuration.nix new file mode 100644 index 0000000..c7c8722 --- /dev/null +++ b/history/20250323_085420/configuration.nix @@ -0,0 +1,194 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_085420/hardware-configuration.nix b/history/20250323_085420/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_085420/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_085420/home.nix b/history/20250323_085420/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_085420/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_085614/configuration.nix b/history/20250323_085614/configuration.nix new file mode 100644 index 0000000..c7c8722 --- /dev/null +++ b/history/20250323_085614/configuration.nix @@ -0,0 +1,194 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_085614/hardware-configuration.nix b/history/20250323_085614/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_085614/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_085614/home.nix b/history/20250323_085614/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_085614/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_085644/configuration.nix b/history/20250323_085644/configuration.nix new file mode 100644 index 0000000..c92d20a --- /dev/null +++ b/history/20250323_085644/configuration.nix @@ -0,0 +1,200 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + users.users.libvirt-qemu = { + isSystemUser = true; + extraGroups = [ "video" ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_085644/hardware-configuration.nix b/history/20250323_085644/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_085644/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_085644/home.nix b/history/20250323_085644/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_085644/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_085726/configuration.nix b/history/20250323_085726/configuration.nix new file mode 100644 index 0000000..41e3d5c --- /dev/null +++ b/history/20250323_085726/configuration.nix @@ -0,0 +1,199 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + users.users.libvirt-qemu = { + isSystemUser = true; + extraGroups = [ "video" ]; + }; + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_085726/hardware-configuration.nix b/history/20250323_085726/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_085726/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_085726/home.nix b/history/20250323_085726/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_085726/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_090707/configuration.nix b/history/20250323_090707/configuration.nix new file mode 100644 index 0000000..45a30a6 --- /dev/null +++ b/history/20250323_090707/configuration.nix @@ -0,0 +1,178 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + users.users.libvirt-qemu = { + isSystemUser = true; + group = "libvirt-qemu"; + extraGroups = [ "video" ]; + }; + + users.groups.libvirt-qemu = {}; + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_090707/hardware-configuration.nix b/history/20250323_090707/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_090707/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_090707/home.nix b/history/20250323_090707/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_090707/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_091653/configuration.nix b/history/20250323_091653/configuration.nix new file mode 100644 index 0000000..e61815b --- /dev/null +++ b/history/20250323_091653/configuration.nix @@ -0,0 +1,178 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + + pkgs.eglexternalplatform + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = ["leo"]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + + users.users.libvirt-qemu = { + isSystemUser = true; + group = "libvirt-qemu"; + extraGroups = [ "video" ]; + }; + + users.groups.libvirt-qemu = {}; + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_091653/hardware-configuration.nix b/history/20250323_091653/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_091653/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_091653/home.nix b/history/20250323_091653/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_091653/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_092344/configuration.nix b/history/20250323_092344/configuration.nix new file mode 100644 index 0000000..bb7ce7d --- /dev/null +++ b/history/20250323_092344/configuration.nix @@ -0,0 +1,145 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ./vm.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_092344/hardware-configuration.nix b/history/20250323_092344/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_092344/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_092344/home.nix b/history/20250323_092344/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_092344/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_092344/vm.nix b/history/20250323_092344/vm.nix new file mode 100644 index 0000000..6e26d13 --- /dev/null +++ b/history/20250323_092344/vm.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +{ + + # Enable dconf (System Management Tool) + programs.dconf.enable = true; + + # Add user to libvirtd group + users.users.$user.extraGroups = [ "libvirtd" ]; + + # Install necessary packages + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice spice-gtk + spice-protocol + win-virtio + win-spice + gnome.adwaita-icon-theme + ]; + + # Manage the virtualisation services + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + +} diff --git a/history/20250323_092356/configuration.nix b/history/20250323_092356/configuration.nix new file mode 100644 index 0000000..bb7ce7d --- /dev/null +++ b/history/20250323_092356/configuration.nix @@ -0,0 +1,145 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ./vm.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_092356/hardware-configuration.nix b/history/20250323_092356/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_092356/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_092356/home.nix b/history/20250323_092356/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_092356/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_092356/vm.nix b/history/20250323_092356/vm.nix new file mode 100644 index 0000000..b7c1eae --- /dev/null +++ b/history/20250323_092356/vm.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +{ + + # Enable dconf (System Management Tool) + programs.dconf.enable = true; + + # Add user to libvirtd group + users.users.leo.extraGroups = [ "libvirtd" ]; + + # Install necessary packages + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice spice-gtk + spice-protocol + win-virtio + win-spice + gnome.adwaita-icon-theme + ]; + + # Manage the virtualisation services + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + +} diff --git a/history/20250323_093331/clean.nix b/history/20250323_093331/clean.nix new file mode 100644 index 0000000..e79c7bb --- /dev/null +++ b/history/20250323_093331/clean.nix @@ -0,0 +1,14 @@ +{ lib, pkgs, ... }: + +{ + #weekly update + system.autoUpgrade.enable = true; + system.autoUpgrade.dates = "weekly"; + + #auto cleanuo + nix.gc.automatic = true; + nix.gc.dates = "daily"; + nix.gx.options = "--delete-older-than 10d"; + nix.settings.auto-optimise-store = true; + +} diff --git a/history/20250323_093331/configuration.nix b/history/20250323_093331/configuration.nix new file mode 100644 index 0000000..cb61e5e --- /dev/null +++ b/history/20250323_093331/configuration.nix @@ -0,0 +1,146 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ./vm.nix + ./clean.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_093331/hardware-configuration.nix b/history/20250323_093331/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_093331/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_093331/home.nix b/history/20250323_093331/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_093331/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_093331/vm.nix b/history/20250323_093331/vm.nix new file mode 100644 index 0000000..b7c1eae --- /dev/null +++ b/history/20250323_093331/vm.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +{ + + # Enable dconf (System Management Tool) + programs.dconf.enable = true; + + # Add user to libvirtd group + users.users.leo.extraGroups = [ "libvirtd" ]; + + # Install necessary packages + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice spice-gtk + spice-protocol + win-virtio + win-spice + gnome.adwaita-icon-theme + ]; + + # Manage the virtualisation services + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + +} diff --git a/history/20250323_093343/clean.nix b/history/20250323_093343/clean.nix new file mode 100644 index 0000000..d7cdc00 --- /dev/null +++ b/history/20250323_093343/clean.nix @@ -0,0 +1,14 @@ +{ lib, pkgs, ... }: + +{ + #weekly update + system.autoUpgrade.enable = true; + system.autoUpgrade.dates = "weekly"; + + #auto cleanuo + nix.gc.automatic = true; + nix.gc.dates = "daily"; + nix.gc.options = "--delete-older-than 10d"; + nix.settings.auto-optimise-store = true; + +} diff --git a/history/20250323_093343/configuration.nix b/history/20250323_093343/configuration.nix new file mode 100644 index 0000000..cb61e5e --- /dev/null +++ b/history/20250323_093343/configuration.nix @@ -0,0 +1,146 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ./vm.nix + ./clean.nix + ]; + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + environment.variables = { + EDITOR = "micro"; + VISUAL = "micro"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" "video" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + zsh + starship + ]; + }; + + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + pkgs.jq + pkgs.xclip + pkgs.ffmpeg_6-full + pkgs.hyprland + pkgs.temurin-jre-bin-23 + appimage-run + (nerdfonts.override { fonts = [ "ProFont" ]; }) + pkgs.qbittorrent-enhanced + ]; + + environment.shells = with pkgs; [ + zsh + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + programs.zsh = { + enable = true; + }; + + programs.starship = { + enable = true; + }; + + + system.stateVersion = "24.11"; + + +} diff --git a/history/20250323_093343/hardware-configuration.nix b/history/20250323_093343/hardware-configuration.nix new file mode 100644 index 0000000..27fc9a6 --- /dev/null +++ b/history/20250323_093343/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2975466c-25c4-45bd-94e6-125d2f4b2c19"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/922A-1C77"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/history/20250323_093343/home.nix b/history/20250323_093343/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/history/20250323_093343/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/history/20250323_093343/vm.nix b/history/20250323_093343/vm.nix new file mode 100644 index 0000000..b7c1eae --- /dev/null +++ b/history/20250323_093343/vm.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +{ + + # Enable dconf (System Management Tool) + programs.dconf.enable = true; + + # Add user to libvirtd group + users.users.leo.extraGroups = [ "libvirtd" ]; + + # Install necessary packages + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice spice-gtk + spice-protocol + win-virtio + win-spice + gnome.adwaita-icon-theme + ]; + + # Manage the virtualisation services + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + +} diff --git a/history/configuration.nix 22-03-25 b/history/configuration.nix 22-03-25 new file mode 100644 index 0000000..37e8731 --- /dev/null +++ b/history/configuration.nix 22-03-25 @@ -0,0 +1,120 @@ +{ config, pkgs, ... }: +let + myAppImageLauncher = import /etc/nixos/apps/appimagelauncher.nix { + lib = pkgs.lib; + stdenv = pkgs.stdenv; + fetchFromGitHub = pkgs.fetchFromGitHub; + cmake = pkgs.cmake; + git = pkgs.git; + pkg-config = pkgs.pkg-config; + automake = pkgs.automake; + autoconf = pkgs.autoconf; + libtool = pkgs.libtool; + unixtools = pkgs.unixtools; + desktop-file-utils = pkgs.desktop-file-utils; + python3 = pkgs.python3; + wrapQtAppsHook = pkgs.wrapGAppsHook; # ersetzt wrapQtAppsHook durch wrapGAppsHook + openssl = pkgs.openssl; + curl = pkgs.curl; + wget = pkgs.wget; + glib = pkgs.glib; + zlib = pkgs.zlib; + cairo = pkgs.cairo; + pcre = pkgs.pcre; + pcre2 = pkgs.pcre2; + librsvg = pkgs.librsvg; + "util-linux" = pkgs.util-linux; + xorg = pkgs.xorg; + libselinux = pkgs.libselinux; + libsepol = pkgs.libsepol; + xz = pkgs.xz; + fuse = pkgs.fuse; + libarchive = pkgs.libarchive; + squashfuse = pkgs.squashfuse; + "xdg-utils" = pkgs.xdg-utils; + glibc_multi = pkgs.glibc_multi; + appimagekit = pkgs.appimagekit; + qt5 = pkgs.qt5; + }; +in { + imports = + [ + ./hardware-configuration.nix + ]; + + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + myAppImageLauncher + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + system.stateVersion = "24.11"; +} diff --git a/history/configuration.nix 22-03-25 3 b/history/configuration.nix 22-03-25 3 new file mode 100644 index 0000000..f0a9e09 --- /dev/null +++ b/history/configuration.nix 22-03-25 3 @@ -0,0 +1,138 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home.nix + ]; + + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + hardware.graphics = { + enable = true; + }; + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + 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+ + 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; + }; + + + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + pkgs.spotify + pkgs.prismlauncher + pkgs.speedtest-cli + pkgs.yazi + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + pkgs.flatpak + pkgs.unzip + pkgs.zip + pkgs.python3 + pkgs.python3Packages.flask + pkgs.dig + pkgs.fish + pkgs.kitty + pkgs.vscode + pkgs.code-cursor + pkgs.nodejs_23 + (nerdfonts.override { fonts = [ "ProFont" ]; }) + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + system.stateVersion = "24.11"; +} diff --git a/history/configuration.nix22-03-25-2 b/history/configuration.nix22-03-25-2 new file mode 100644 index 0000000..4717d1b --- /dev/null +++ b/history/configuration.nix22-03-25-2 @@ -0,0 +1,83 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Bootloader + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-leo"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + console.keyMap = "de"; + + services.printing.enable = true; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + users.users.leo = { + isNormalUser = true; + description = "leo"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + pkgs.vesktop + pkgs.brave + pkgs.localsend + pkgs.git + pkgs.pciutils + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + micro + nano + btop + ]; + + programs.bash.shellAliases = { + l = "ls -alh"; + ll = "ls -l"; + ls = "ls --color=tty"; + }; + + programs.steam.enable = true; + + system.stateVersion = "24.11"; +} diff --git a/history/home.nix 22-03-25 3 b/history/home.nix 22-03-25 3 new file mode 100644 index 0000000..9f32efa --- /dev/null +++ b/history/home.nix 22-03-25 3 @@ -0,0 +1,15 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + /* The home.stateVersion option does not have a default and must be set */ + home.stateVersion = "18.09"; + /* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */ + }; +} diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..a76148b --- /dev/null +++ b/home.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.leo = { + home.stateVersion = "18.09"; + + programs.kitty = { + enable = true; + settings = { + font_family = "ProFont IIx Nerd Font Mono"; # change if needed + font_size = 12.0; + }; + }; + }; +} diff --git a/vm.nix b/vm.nix new file mode 100644 index 0000000..b7c1eae --- /dev/null +++ b/vm.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +{ + + # Enable dconf (System Management Tool) + programs.dconf.enable = true; + + # Add user to libvirtd group + users.users.leo.extraGroups = [ "libvirtd" ]; + + # Install necessary packages + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice spice-gtk + spice-protocol + win-virtio + win-spice + gnome.adwaita-icon-theme + ]; + + # Manage the virtualisation services + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + +}