diff --git a/common.nix b/common.nix new file mode 100644 index 00000000..beab9706 --- /dev/null +++ b/common.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: + +{ + imports = [ ./gpg.nix ]; + system.stateVersion = "24.05"; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; +} diff --git a/flake.nix b/flake.nix index 4d9ee849..463ba7c2 100644 --- a/flake.nix +++ b/flake.nix @@ -9,8 +9,8 @@ nixosConfigurations.Mirkwood = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ + ./common.nix ./hosts/Mirkwood/configuration.nix - ./gpg.nix ]; }; }; diff --git a/hosts/Mirkwood/configuration.nix b/hosts/Mirkwood/configuration.nix index d21adb40..43ab88ea 100644 --- a/hosts/Mirkwood/configuration.nix +++ b/hosts/Mirkwood/configuration.nix @@ -3,60 +3,64 @@ { imports = [ ./hardware-configuration.nix ]; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; + networking = { + hostName = "Mirkwood"; + networkmanager = { + enable = true; + wifi.backend = "iwd"; + }; + wireless.iwd.enable = true; + }; - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - boot.initrd.luks.devices."luks-cf2ca44e-d8d1-4ec8-a072-921f29ed693d".device = "/dev/disk/by-uuid/cf2ca44e-d8d1-4ec8-a072-921f29ed693d"; - networking.hostName = "Mirkwood"; # Define your hostname. - networking.wireless.iwd.enable = true; # Enables wireless support via wpa_supplicant. - - # Enable networking - networking.networkmanager.enable = true; - networking.networkmanager.wifi.backend = "iwd"; + boot = { + initrd.luks.devices."luks-cf2ca44e-d8d1-4ec8-a072-921f29ed693d".device = "/dev/disk/by-uuid/cf2ca44e-d8d1-4ec8-a072-921f29ed693d"; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; # Set your time zone. time.timeZone = "Europe/Helsinki"; - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; + i18n = { + defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "fi_FI.UTF-8"; - LC_IDENTIFICATION = "fi_FI.UTF-8"; - LC_MEASUREMENT = "fi_FI.UTF-8"; - LC_MONETARY = "fi_FI.UTF-8"; - LC_NAME = "fi_FI.UTF-8"; - LC_NUMERIC = "fi_FI.UTF-8"; - LC_PAPER = "fi_FI.UTF-8"; - LC_TELEPHONE = "fi_FI.UTF-8"; - LC_TIME = "fi_FI.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "fi_FI.UTF-8"; + LC_IDENTIFICATION = "fi_FI.UTF-8"; + LC_MEASUREMENT = "fi_FI.UTF-8"; + LC_MONETARY = "fi_FI.UTF-8"; + LC_NAME = "fi_FI.UTF-8"; + LC_NUMERIC = "fi_FI.UTF-8"; + LC_PAPER = "fi_FI.UTF-8"; + LC_TELEPHONE = "fi_FI.UTF-8"; + LC_TIME = "fi_FI.UTF-8"; + }; }; - # Enable the X11 windowing system. - services.xserver.enable = true; + services = { + xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; - # Enable the GNOME Desktop Environment. - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; + xkb = { + layout = "us"; + variant = ""; + }; + }; - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; }; - # Enable sound with pipewire. hardware.pulseaudio.enable = false; security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; users.users.functionalhacker = { isNormalUser = true; @@ -67,14 +71,11 @@ ]; }; - # Install firefox. programs.firefox = { enable = true; - nativeMessagingHosts.packages = with pkgs; [ browserpass ]; + nativeMessagingHosts.packages = [ pkgs.browserpass ]; }; - # List packages installed in system profile. To search, run: - # $ nix search wget environment.systemPackages = with pkgs; [ neovim telegram-desktop