my nixos/home-manager configuration
1
fork

Configure Feed

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

nixos(*): merge all common attributes

youn f52ab966 2b2b7b75

+131 -449
+3 -151
nixos/clever-cloud/default.nix
··· 1 - # Edit this configuration file to define what should be installed on 2 - # your system. Help is available in the configuration.nix(5) man page 3 - # and in the NixOS manual (accessible by running ‘nixos-help’). 4 - 5 - { 6 - pkgs, 7 - lib, 8 - user, 9 - fonts, 10 - ... 11 - }: 1 + { ... }: 12 2 13 3 { 14 4 imports = [ 15 - # Include the results of the hardware scan. 5 + ../common.nix 16 6 ./hardware-configuration.nix 17 7 ]; 18 8 19 - documentation.doc.enable = false; 20 - 21 - nix.settings.experimental-features = [ 22 - "nix-command" 23 - "flakes" 24 - ]; 25 - 26 - # Bootloader. 27 - boot.loader.systemd-boot.enable = true; 28 - boot.loader.efi.canTouchEfiVariables = true; 29 - 30 9 boot.initrd.luks.devices."luks-aa53b969-2e9f-4f51-be2e-010aea5bde1f".device = 31 10 "/dev/disk/by-uuid/aa53b969-2e9f-4f51-be2e-010aea5bde1f"; 32 11 33 12 modules = { 34 - logind.enable = true; 35 - 36 13 # power management 37 14 thermald.enable = true; 38 15 tlp.enable = true; 39 - 40 - pipewire.enable = true; 41 16 }; 42 17 43 - networking.hostName = "clever-cloud"; # Define your hostname. 44 - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 45 - 46 - # Configure network proxy if necessary 47 - # networking.proxy.default = "http://user:password@proxy:port/"; 48 - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 49 - 50 - # Enable networking 51 - networking.networkmanager.enable = true; 52 - 53 - # Set your time zone. 54 - time.timeZone = "Europe/Paris"; 55 - 56 - # Select internationalisation properties. 57 - i18n.defaultLocale = "en_US.UTF-8"; 58 - 59 - i18n.extraLocaleSettings = { 60 - LC_ADDRESS = "fr_FR.UTF-8"; 61 - LC_IDENTIFICATION = "fr_FR.UTF-8"; 62 - LC_MEASUREMENT = "fr_FR.UTF-8"; 63 - LC_MONETARY = "fr_FR.UTF-8"; 64 - LC_NAME = "fr_FR.UTF-8"; 65 - LC_NUMERIC = "fr_FR.UTF-8"; 66 - LC_PAPER = "fr_FR.UTF-8"; 67 - LC_TELEPHONE = "fr_FR.UTF-8"; 68 - LC_TIME = "en_US.UTF-8"; 69 - }; 70 - 71 - # Enable the X11 windowing system. 72 - services.xserver.enable = true; 73 - 74 - # Enable the GNOME Desktop Environment. 75 - services.xserver.displayManager.gdm.enable = true; 76 - services.xserver.desktopManager.gnome.enable = true; 77 - 78 - services.xserver.excludePackages = with pkgs; [ xterm ]; 79 - 80 - services.gnome.core-apps.enable = false; 81 - services.gnome.localsearch.enable = false; 82 - services.gnome.tinysparql.enable = false; 83 - 84 - environment.gnome.excludePackages = with pkgs; [ gnome-tour ]; 85 - 86 - # Configure keymap in X11 87 - services.xserver.xkb = { 88 - layout = "us"; 89 - variant = "intl"; 90 - }; 91 - 92 - # Configure console keymap 93 - console.keyMap = "us-acentos"; 18 + networking.hostName = "clever-cloud"; 94 19 95 20 # Enable CUPS to print documents. 96 21 services.printing.enable = false; 97 - 98 - services.fwupd.enable = true; 99 - 100 - # Enable touchpad support (enabled default in most desktopManager). 101 - # services.xserver.libinput.enable = true; 102 - 103 - # Define a user account. Don't forget to set a password with ‘passwd’. 104 - users.users.${user.name} = { 105 - isNormalUser = true; 106 - description = user.name; 107 - extraGroups = [ 108 - "networkmanager" 109 - "wheel" 110 - ]; 111 - packages = [ ]; 112 - }; 113 - 114 - # List packages installed in system profile. To search, run: 115 - # $ nix search wget 116 - environment.systemPackages = [ ]; 117 - 118 - fonts = 119 - let 120 - getFonts = fonts: value: lib.mapAttrsToList (_: font: font.${value}) fonts; 121 - 122 - fontsSans = getFonts fonts.sans; 123 - fontsSerif = getFonts fonts.serif; 124 - fontsMonospace = getFonts fonts.monospace; 125 - fontsEmoji = getFonts fonts.emoji; 126 - in 127 - { 128 - packages = 129 - (fontsSans "package") 130 - ++ (fontsSerif "package") 131 - ++ (fontsMonospace "package") 132 - ++ (fontsEmoji "package"); 133 - fontconfig = { 134 - enable = true; 135 - defaultFonts = { 136 - sansSerif = fontsSans "family"; 137 - serif = fontsSerif "family"; 138 - monospace = fontsMonospace "family"; 139 - emoji = fontsEmoji "family"; 140 - }; 141 - }; 142 - }; 143 - 144 - # Some programs need SUID wrappers, can be configured further or are 145 - # started in user sessions. 146 - # programs.mtr.enable = true; 147 - # programs.gnupg.agent = { 148 - # enable = true; 149 - # enableSSHSupport = true; 150 - # }; 151 - 152 - # List services that you want to enable: 153 - 154 - # Enable the OpenSSH daemon. 155 - # services.openssh.enable = true; 156 - 157 - # Open ports in the firewall. 158 - # networking.firewall.allowedTCPPorts = [ ... ]; 159 - # networking.firewall.allowedUDPPorts = [ ... ]; 160 - # Or disable the firewall altogether. 161 - # networking.firewall.enable = false; 162 - 163 - # This value determines the NixOS release from which the default 164 - # settings for stateful data, like file locations and database versions 165 - # on your system were taken. It‘s perfectly fine and recommended to leave 166 - # this value at the release version of the first install of this system. 167 - # Before changing this value read the documentation for this option 168 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 169 - system.stateVersion = "25.05"; # Did you read the comment? 170 22 171 23 }
+122
nixos/common.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page 3 + # and in the NixOS manual (accessible by running ‘nixos-help’). 4 + 5 + { 6 + pkgs, 7 + lib, 8 + user, 9 + fonts, 10 + ... 11 + }: 12 + 13 + { 14 + documentation.doc.enable = false; 15 + 16 + nix.settings.experimental-features = [ 17 + "nix-command" 18 + "flakes" 19 + ]; 20 + 21 + # Bootloader. 22 + boot.loader.systemd-boot.enable = true; 23 + boot.loader.efi.canTouchEfiVariables = true; 24 + 25 + modules = { 26 + logind.enable = true; 27 + pipewire.enable = true; 28 + }; 29 + 30 + # Enable networking 31 + networking.networkmanager.enable = true; 32 + 33 + # Set your time zone. 34 + time.timeZone = "Europe/Paris"; 35 + 36 + # Select internationalisation properties. 37 + i18n.defaultLocale = "en_US.UTF-8"; 38 + 39 + i18n.extraLocaleSettings = { 40 + LC_ADDRESS = "fr_FR.UTF-8"; 41 + LC_IDENTIFICATION = "fr_FR.UTF-8"; 42 + LC_MEASUREMENT = "fr_FR.UTF-8"; 43 + LC_MONETARY = "fr_FR.UTF-8"; 44 + LC_NAME = "fr_FR.UTF-8"; 45 + LC_NUMERIC = "fr_FR.UTF-8"; 46 + LC_PAPER = "fr_FR.UTF-8"; 47 + LC_TELEPHONE = "fr_FR.UTF-8"; 48 + LC_TIME = "en_US.UTF-8"; 49 + }; 50 + 51 + # Enable the X11 windowing system. 52 + services.xserver.enable = true; 53 + 54 + # Enable the GNOME Desktop Environment. 55 + services.xserver.displayManager.gdm.enable = true; 56 + services.xserver.desktopManager.gnome.enable = true; 57 + 58 + services.xserver.excludePackages = with pkgs; [ xterm ]; 59 + 60 + services.gnome.core-apps.enable = false; 61 + services.gnome.localsearch.enable = false; 62 + services.gnome.tinysparql.enable = false; 63 + 64 + environment.gnome.excludePackages = with pkgs; [ gnome-tour ]; 65 + 66 + # Configure keymap in X11 67 + services.xserver.xkb = { 68 + layout = "us"; 69 + variant = "intl"; 70 + }; 71 + 72 + # Configure console keymap 73 + console.keyMap = "us-acentos"; 74 + 75 + services.fwupd.enable = true; 76 + 77 + # Define a user account. Don't forget to set a password with ‘passwd’. 78 + users.users.${user.name} = { 79 + isNormalUser = true; 80 + description = user.name; 81 + extraGroups = [ 82 + "networkmanager" 83 + "wheel" 84 + ]; 85 + packages = [ ]; 86 + }; 87 + 88 + fonts = 89 + let 90 + getFonts = fonts: value: lib.mapAttrsToList (_: font: font.${value}) fonts; 91 + 92 + fontsSans = getFonts fonts.sans; 93 + fontsSerif = getFonts fonts.serif; 94 + fontsMonospace = getFonts fonts.monospace; 95 + fontsEmoji = getFonts fonts.emoji; 96 + in 97 + { 98 + packages = 99 + (fontsSans "package") 100 + ++ (fontsSerif "package") 101 + ++ (fontsMonospace "package") 102 + ++ (fontsEmoji "package"); 103 + fontconfig = { 104 + enable = true; 105 + defaultFonts = { 106 + sansSerif = fontsSans "family"; 107 + serif = fontsSerif "family"; 108 + monospace = fontsMonospace "family"; 109 + emoji = fontsEmoji "family"; 110 + }; 111 + }; 112 + }; 113 + 114 + # This value determines the NixOS release from which the default 115 + # settings for stateful data, like file locations and database versions 116 + # on your system were taken. It‘s perfectly fine and recommended to leave 117 + # this value at the release version of the first install of this system. 118 + # Before changing this value read the documentation for this option 119 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 120 + system.stateVersion = "25.05"; # Did you read the comment? 121 + 122 + }
+3 -151
nixos/desktop/default.nix
··· 1 - # Edit this configuration file to define what should be installed on 2 - # your system. Help is available in the configuration.nix(5) man page 3 - # and in the NixOS manual (accessible by running ‘nixos-help’). 4 - 5 - { 6 - pkgs, 7 - lib, 8 - user, 9 - fonts, 10 - ... 11 - }: 1 + { pkgs, ... }: 12 2 13 3 { 14 4 imports = [ 15 - # Include the results of the hardware scan. 5 + ../common.nix 16 6 ./hardware-configuration.nix 17 7 ]; 18 8 19 - documentation.doc.enable = false; 20 - 21 - nix.settings.experimental-features = [ 22 - "nix-command" 23 - "flakes" 24 - ]; 25 - 26 9 boot.kernelPatches = 27 10 let 28 11 commit = "bbf56029322c06a9227f09c2064f50278111159a"; ··· 39 22 } 40 23 ]; 41 24 42 - # Bootloader. 43 - boot.loader.systemd-boot.enable = true; 44 - boot.loader.efi.canTouchEfiVariables = true; 45 - 46 25 boot.initrd.luks.devices."luks-efba64ac-5927-4281-b972-4df09a479d35".device = 47 26 "/dev/disk/by-uuid/efba64ac-5927-4281-b972-4df09a479d35"; 48 27 49 - modules = { 50 - logind.enable = true; 51 - 52 - pipewire.enable = true; 53 - }; 54 - 55 - networking.hostName = "desktop"; # Define your hostname. 56 - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 57 - 58 - # Configure network proxy if necessary 59 - # networking.proxy.default = "http://user:password@proxy:port/"; 60 - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 61 - 62 - # Enable networking 63 - networking.networkmanager.enable = true; 64 - 65 - # Set your time zone. 66 - time.timeZone = "Europe/Paris"; 67 - 68 - # Select internationalisation properties. 69 - i18n.defaultLocale = "en_US.UTF-8"; 70 - 71 - i18n.extraLocaleSettings = { 72 - LC_ADDRESS = "fr_FR.UTF-8"; 73 - LC_IDENTIFICATION = "fr_FR.UTF-8"; 74 - LC_MEASUREMENT = "fr_FR.UTF-8"; 75 - LC_MONETARY = "fr_FR.UTF-8"; 76 - LC_NAME = "fr_FR.UTF-8"; 77 - LC_NUMERIC = "fr_FR.UTF-8"; 78 - LC_PAPER = "fr_FR.UTF-8"; 79 - LC_TELEPHONE = "fr_FR.UTF-8"; 80 - LC_TIME = "en_US.UTF-8"; 81 - }; 82 - 83 - # Enable the X11 windowing system. 84 - services.xserver.enable = true; 85 - 86 - # Enable the GNOME Desktop Environment. 87 - services.xserver.displayManager.gdm.enable = true; 88 - services.xserver.desktopManager.gnome.enable = true; 89 - 90 - services.xserver.excludePackages = with pkgs; [ xterm ]; 91 - 92 - services.gnome.core-apps.enable = false; 93 - services.gnome.localsearch.enable = false; 94 - services.gnome.tinysparql.enable = false; 95 - 96 - environment.gnome.excludePackages = with pkgs; [ gnome-tour ]; 28 + networking.hostName = "desktop"; 97 29 98 30 hardware.graphics = { 99 31 enable = true; 100 32 enable32Bit = true; 101 33 }; 102 34 103 - # Configure keymap in X11 104 - services.xserver.xkb = { 105 - layout = "us"; 106 - variant = "intl"; 107 - }; 108 - 109 - # Configure console keymap 110 - console.keyMap = "us-acentos"; 111 - 112 35 # Enable CUPS to print documents. 113 36 services.printing.enable = false; 114 37 115 - services.fwupd.enable = true; 116 - 117 - # Enable touchpad support (enabled default in most desktopManager). 118 - # services.xserver.libinput.enable = true; 119 - 120 - # Define a user account. Don't forget to set a password with ‘passwd’. 121 - users.users.${user.name} = { 122 - isNormalUser = true; 123 - description = user.name; 124 - extraGroups = [ 125 - "networkmanager" 126 - "wheel" 127 - ]; 128 - packages = [ ]; 129 - }; 130 - 131 - # List packages installed in system profile. To search, run: 132 - # $ nix search wget 133 38 environment.systemPackages = with pkgs; [ lact ]; 134 39 systemd.packages = with pkgs; [ lact ]; 135 40 systemd.services.lact.wantedBy = [ "multi-user.target" ]; 136 - 137 - fonts = 138 - let 139 - getFonts = fonts: value: lib.mapAttrsToList (_: font: font.${value}) fonts; 140 - 141 - fontsSans = getFonts fonts.sans; 142 - fontsSerif = getFonts fonts.serif; 143 - fontsMonospace = getFonts fonts.monospace; 144 - fontsEmoji = getFonts fonts.emoji; 145 - in 146 - { 147 - packages = 148 - (fontsSans "package") 149 - ++ (fontsSerif "package") 150 - ++ (fontsMonospace "package") 151 - ++ (fontsEmoji "package"); 152 - fontconfig = { 153 - enable = true; 154 - defaultFonts = { 155 - sansSerif = fontsSans "family"; 156 - serif = fontsSerif "family"; 157 - monospace = fontsMonospace "family"; 158 - emoji = fontsEmoji "family"; 159 - }; 160 - }; 161 - }; 162 - 163 - # Some programs need SUID wrappers, can be configured further or are 164 - # started in user sessions. 165 - # programs.mtr.enable = true; 166 - # programs.gnupg.agent = { 167 - # enable = true; 168 - # enableSSHSupport = true; 169 - # }; 170 - 171 - # List services that you want to enable: 172 - 173 - # Enable the OpenSSH daemon. 174 - # services.openssh.enable = true; 175 - 176 - # Open ports in the firewall. 177 - # networking.firewall.allowedTCPPorts = [ ... ]; 178 - # networking.firewall.allowedUDPPorts = [ ... ]; 179 - # Or disable the firewall altogether. 180 - # networking.firewall.enable = false; 181 - 182 - # This value determines the NixOS release from which the default 183 - # settings for stateful data, like file locations and database versions 184 - # on your system were taken. It‘s perfectly fine and recommended to leave 185 - # this value at the release version of the first install of this system. 186 - # Before changing this value read the documentation for this option 187 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 188 - system.stateVersion = "25.05"; # Did you read the comment? 189 41 190 42 }
+3 -147
nixos/laptop/default.nix
··· 1 - # Edit this configuration file to define what should be installed on 2 - # your system. Help is available in the configuration.nix(5) man page 3 - # and in the NixOS manual (accessible by running ‘nixos-help’). 4 - 5 - { 6 - pkgs, 7 - lib, 8 - user, 9 - fonts, 10 - ... 11 - }: 1 + { ... }: 12 2 13 3 { 14 4 imports = [ 5 + ../common.nix 15 6 ./hardware-configuration.nix 16 7 ]; 17 8 18 - documentation.doc.enable = false; 19 - 20 - nix.settings.experimental-features = [ 21 - "nix-command" 22 - "flakes" 23 - ]; 24 - 25 - # Bootloader. 26 - boot.loader.systemd-boot.enable = true; 27 - boot.loader.efi.canTouchEfiVariables = true; 28 - 29 9 boot.initrd.luks.devices."luks-56c1d52e-92f4-4886-b1e6-0017ec4df4ca".device = 30 10 "/dev/disk/by-uuid/56c1d52e-92f4-4886-b1e6-0017ec4df4ca"; 31 11 32 12 modules = { 33 13 fprintd.enable = true; 34 - logind.enable = true; 35 14 36 15 # power management 37 16 thermald.enable = true; 38 17 tlp.enable = true; 39 - 40 - pipewire.enable = true; 41 18 }; 42 19 43 - networking.hostName = "laptop"; # Define your hostname. 44 - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 45 - 46 - # Configure network proxy if necessary 47 - # networking.proxy.default = "http://user:password@proxy:port/"; 48 - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 49 - 50 - # Enable networking 51 - networking.networkmanager.enable = true; 52 - 53 - # Set your time zone. 54 - time.timeZone = "Europe/Paris"; 55 - 56 - # Select internationalisation properties. 57 - i18n.defaultLocale = "en_US.UTF-8"; 58 - 59 - i18n.extraLocaleSettings = { 60 - LC_ADDRESS = "fr_FR.UTF-8"; 61 - LC_IDENTIFICATION = "fr_FR.UTF-8"; 62 - LC_MEASUREMENT = "fr_FR.UTF-8"; 63 - LC_MONETARY = "fr_FR.UTF-8"; 64 - LC_NAME = "fr_FR.UTF-8"; 65 - LC_NUMERIC = "fr_FR.UTF-8"; 66 - LC_PAPER = "fr_FR.UTF-8"; 67 - LC_TELEPHONE = "fr_FR.UTF-8"; 68 - LC_TIME = "en_US.UTF-8"; 69 - }; 70 - 71 - # Enable the X11 windowing system. 72 - services.xserver.enable = true; 73 - 74 - # Enable the GNOME Desktop Environment. 75 - services.xserver.displayManager.gdm.enable = true; 76 - services.xserver.desktopManager.gnome.enable = true; 77 - 78 - services.xserver.excludePackages = with pkgs; [ xterm ]; 79 - 80 - services.gnome.core-apps.enable = false; 81 - services.gnome.localsearch.enable = false; 82 - services.gnome.tinysparql.enable = false; 83 - 84 - environment.gnome.excludePackages = with pkgs; [ gnome-tour ]; 85 - 86 - # Configure keymap in X11 87 - services.xserver.xkb = { 88 - layout = "us"; 89 - variant = "intl"; 90 - }; 91 - 92 - # Configure console keymap 93 - console.keyMap = "us-acentos"; 20 + networking.hostName = "laptop"; 94 21 95 22 # Enable CUPS to print documents. 96 23 services.printing.enable = false; 97 - 98 - services.fwupd.enable = true; 99 - 100 - # Enable touchpad support (enabled default in most desktopManager). 101 - # services.xserver.libinput.enable = true; 102 - 103 - # Define a user account. Don't forget to set a password with ‘passwd’. 104 - users.users.${user.name} = { 105 - isNormalUser = true; 106 - description = user.name; 107 - extraGroups = [ 108 - "networkmanager" 109 - "wheel" 110 - ]; 111 - packages = [ ]; 112 - }; 113 - 114 - environment.systemPackages = [ ]; 115 - 116 - fonts = 117 - let 118 - getFonts = fonts: value: lib.mapAttrsToList (_: font: font.${value}) fonts; 119 - 120 - fontsSans = getFonts fonts.sans; 121 - fontsSerif = getFonts fonts.serif; 122 - fontsMonospace = getFonts fonts.monospace; 123 - fontsEmoji = getFonts fonts.emoji; 124 - in 125 - { 126 - packages = 127 - (fontsSans "package") 128 - ++ (fontsSerif "package") 129 - ++ (fontsMonospace "package") 130 - ++ (fontsEmoji "package"); 131 - fontconfig = { 132 - enable = true; 133 - defaultFonts = { 134 - sansSerif = fontsSans "family"; 135 - serif = fontsSerif "family"; 136 - monospace = fontsMonospace "family"; 137 - emoji = fontsEmoji "family"; 138 - }; 139 - }; 140 - }; 141 - 142 - # Some programs need SUID wrappers, can be configured further or are 143 - # started in user sessions. 144 - # programs.mtr.enable = true; 145 - # programs.gnupg.agent = { 146 - # enable = true; 147 - # enableSSHSupport = true; 148 - # }; 149 - 150 - # List services that you want to enable: 151 - 152 - # Enable the OpenSSH daemon. 153 - # services.openssh.enable = true; 154 - 155 - # Open ports in the firewall. 156 - # networking.firewall.allowedTCPPorts = [ ... ]; 157 - # networking.firewall.allowedUDPPorts = [ ... ]; 158 - # Or disable the firewall altogether. 159 - # networking.firewall.enable = false; 160 - 161 - # This value determines the NixOS release from which the default 162 - # settings for stateful data, like file locations and database versions 163 - # on your system were taken. It‘s perfectly fine and recommended to leave 164 - # this value at the release version of the first install of this system. 165 - # Before changing this value read the documentation for this option 166 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 167 - system.stateVersion = "25.05"; # Did you read the comment? 168 24 169 25 }