Nix Flakes configuration for MacOS, NixOS and WSL
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: update sunna to a working state

neoxa 904b2401 bc695efd

+134 -77
+85 -77
machines/nixos/sunna/default.nix
··· 1 1 { self, inputs, pkgs, hostname, ... }: 2 2 { 3 - # Networking 4 - networking.hostName = hostname; 3 + imports = [ ./hardware-configuration.nix ]; 5 4 6 - # GRUB Bootloader 7 - boot.loader.grub.enable = true; 8 - boot.loader.grub.device = "nodev"; 9 - boot.loader.grub.useOSProber = true; 5 + # Networking 6 + networking.hostName = hostname; 10 7 11 - # Desktop Environment 12 - services.desktopManager.plasma6.enable = true; 8 + # GRUB Bootloader 9 + boot.loader.systemd-boot.enable = true; 10 + # boot.loader.grub.enable = true; 11 + # boot.loader.grub.device = "nodev"; 12 + # boot.loader.grub.useOSProber = true; 13 + boot.loader.efi.canTouchEfiVariables = true; 13 14 14 - # Global packages 15 - environment.systemPackages = with pkgs; [ 16 - wget 17 - git 18 - curl 19 - vscodium 20 - just 21 - ]; 15 + # Desktop Environment 16 + services.xserver.enable = true; 17 + services.xserver.displayManager.lightdm.enable = true; 18 + services.xserver.desktopManager.budgie.enable = true; 22 19 23 - # Audio 24 - asgard.hardware.audio.enable = true; 25 20 26 - # RGB Controller 27 - services.hardware.openrgb.enable = true; 21 + # Global packages 22 + environment.systemPackages = with pkgs; [ 23 + wget 24 + git 25 + curl 26 + vscodium 27 + just 28 + ]; 28 29 29 - # Lang 30 - i18n.defaultLocale = "fr_FR.UTF-8"; 30 + # Audio 31 + asgard.hardware.audio.enable = true; 31 32 32 - # Gaming settings 33 - programs.steam.enable = true; 34 - programs.steam.gamescopeSession.enable = true; 35 - programs.steam.gamescopeSession.env = { 36 - __NV_PRIME_RENDER_OFFLOAD = 1; 37 - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; 38 - __VK_LAYER_NV_optimus = "NVIDIA_ONLY" 39 - }; 33 + # RGB Controller 34 + services.hardware.openrgb.enable = true; 40 35 41 - # Nvidia 42 - hardware.graphic = { 43 - enable = true; 44 - enable32Bit = true; 45 - }; 46 - hardware.nvidia = { 47 - pacakges = config.boot.kernelPackages.nvidiaPackages.latest; 48 - modsetting.enable = true; 49 - powerManagement.enable = true; 50 - powerManagement.finegrained = true; 51 - open = false; 52 - nvidiaSettings = true; 53 - }; 36 + # Lang 37 + i18n.defaultLocale = "fr_FR.UTF-8"; 38 + services.xserver.xkb.layout = "fr"; 54 39 55 - # Users 56 - users.users = { 57 - "neoxa" = { 58 - isNormalUser = true; 59 - extraGroups = [ "networkmanager" "wheel" ]; 60 - packages = with pkgs; [ 61 - spotify 62 - vesktop 63 - heroic 40 + # Gaming settings 41 + programs.steam.enable = true; 42 + programs.steam.gamescopeSession.enable = true; 43 + programs.steam.gamescopeSession.env = { 44 + __NV_PRIME_RENDER_OFFLOAD = "1"; 45 + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; 46 + __VK_LAYER_NV_optimus = "NVIDIA_ONLY"; 47 + }; 48 + 49 + # Nvidia 50 + hardware.graphics = { 51 + enable = true; 52 + enable32Bit = true; 53 + }; 54 + hardware.nvidia = { 55 + # package = config.boot.kernelPackages.nvidiaPackages.latest; 56 + modesetting.enable = true; 57 + powerManagement.enable = true; 58 + powerManagement.finegrained = true; 59 + open = false; 60 + nvidiaSettings = true; 61 + }; 64 62 65 - # Needed for school 66 - blender 67 - unityhub 68 - obs-studio 63 + # Users 64 + users.users = { 65 + "neoxa" = { 66 + isNormalUser = true; 67 + extraGroups = [ "networkmanager" "wheel" ]; 68 + packages = with pkgs; [ 69 + spotify 70 + vesktop 71 + heroic 69 72 70 - # Coding environment for school 71 - php 72 - php84Packages.composer 73 - nodejs_22 74 - python313 75 - ]; 76 - }; 73 + # Needed for school 74 + blender 75 + unityhub 76 + obs-studio 77 + 78 + # Coding environment for school 79 + php 80 + php84Packages.composer 81 + nodejs_22 82 + python313 83 + ]; 77 84 }; 85 + }; 78 86 79 - # Nix settings 80 - asgard.system.garbageCollector.enable = true; 81 - nixpkgs.config.allowUnfree = true; 87 + # Nix settings 88 + asgard.system.garbageCollector.enable = true; 89 + nixpkgs.config.allowUnfree = true; 82 90 83 - # Enable flakes and other experimental features 84 - nix.settings.experimental-features = [ "nix-command" "flakes" "pipe-operators" ]; 91 + # Enable flakes and other experimental features 92 + nix.settings.experimental-features = [ "nix-command" "flakes" "pipe-operators" ]; 85 93 86 - # Change buffer download size to 500Mo 87 - nix.settings.download-buffer-size = 524288000; 94 + # Change buffer download size to 500Mo 95 + nix.settings.download-buffer-size = 524288000; 88 96 89 - # This value determines the NixOS release from which the default 90 - # settings for stateful data, like file locations and database versions 91 - # on your system were taken. It‘s perfectly fine and recommended to leave 92 - # this value at the release version of the first install of this system. 93 - # Before changing this value read the documentation for this option 94 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 95 - system.stateVersion = "25.05"; # Did you read the comment? 97 + # This value determines the NixOS release from which the default 98 + # settings for stateful data, like file locations and database versions 99 + # on your system were taken. It‘s perfectly fine and recommended to leave 100 + # this value at the release version of the first install of this system. 101 + # Before changing this value read the documentation for this option 102 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 103 + system.stateVersion = "25.05"; # Did you read the comment? 96 104 }
+49
machines/nixos/sunna/hardware-configuration.nix
··· 1 + # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 + # and may be overwritten by future invocations. Please make changes 3 + # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 + 6 + { 7 + imports = 8 + [ (modulesPath + "/installer/scan/not-detected.nix") 9 + ]; 10 + 11 + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; 12 + boot.initrd.kernelModules = [ ]; 13 + boot.kernelModules = [ "kvm-intel" ]; 14 + boot.extraModulePackages = [ ]; 15 + 16 + fileSystems."/" = 17 + { device = "/dev/disk/by-uuid/74364d58-0f18-40e0-a8f3-9ae7cea82314"; 18 + fsType = "ext4"; 19 + }; 20 + 21 + fileSystems."/boot" = 22 + { device = "/dev/disk/by-uuid/336D-E271"; 23 + fsType = "vfat"; 24 + options = [ "fmask=0077" "dmask=0077" ]; 25 + }; 26 + 27 + fileSystems."/home" = 28 + { device = "/dev/disk/by-uuid/67e65287-b81a-47b3-b524-2dfef992c1c8"; 29 + fsType = "ext4"; 30 + }; 31 + 32 + fileSystems."/nix" = 33 + { device = "/dev/disk/by-uuid/2555f81a-2ec4-4f0e-b513-71f26faf2ee6"; 34 + fsType = "ext4"; 35 + }; 36 + 37 + swapDevices = [ ]; 38 + 39 + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 40 + # (the default) this is the recommended approach. When using systemd-networkd it's 41 + # still possible to use this option, but it's recommended to use it in conjunction 42 + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 43 + networking.useDHCP = lib.mkDefault true; 44 + # networking.interfaces.eno2.useDHCP = lib.mkDefault true; 45 + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; 46 + 47 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 48 + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 49 + }