diff --git a/hosts/gAluminum/configuration.nix b/hosts/gAluminum/configuration.nix deleted file mode 100644 index 5ac188a..0000000 --- a/hosts/gAluminum/configuration.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ config, pkgs, ... }: - -{ - imports = [ ./hardware-configuration.nix ]; - - nixpkgs.config.allowUnfree = true; - networking.hostName = "gAluminum"; - - time.timeZone = "Europe/London"; - - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - - # Xserver - services.xserver.enable = true; - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - - # Configure keymap in X11 - services.xserver.layout = "us"; - services.xserver.xkbOptions = "eurosign:e"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound. - sound.enable = true; - hardware.pulseaudio.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.giulio = { - description = "Giulio De Pasquale"; - isNormalUser = true; - shell = pkgs.zsh; - extraGroups = [ "wheel" "docker" "networkmanager" ]; - }; - programs.zsh.enableCompletion = true; - programs.zsh.enableBashCompletion = true; - services.dbus.packages = with pkgs; [ gnome3.dconf ]; - services.udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ]; - environment.systemPackages = with pkgs; [ - wget - git - pciutils - curl - virtualbox - cmake - ninja - gdb - htop - glances - tcpdump - restic - gnomeExtensions.appindicator - binutils - efibootmgr - neovim - home-manager - ]; - - fonts.fonts = with pkgs; [cascadia-code]; - - system.stateVersion = "21.05"; # Did you read the comment? - - security.pam.services.gdm.enableGnomeKeyring = true; - - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.efi.efiSysMountPoint = "/boot/efi"; - - boot.loader.systemd-boot.enable = true; - boot.initrd.luks.devices = { - root = { - device = "/dev/disk/by-uuid/c2bac3a6-0999-4e1d-a676-bf4bcafee2d4"; - preLVM = true; - allowDiscards = true; - }; - }; - - networking.wg-quick.interfaces = { - giupi = { - address = ["10.3.0.2/32"]; - privateKeyFile = "/etc/wireguard/giupi.key"; - dns = ["10.3.0.1"]; - peers = [ - { - publicKey = "I4glUMvIGjjhvQMKhwGc8copPl2t9Us/YYRjT0BKuiw="; - allowedIPs = ["0.0.0.0/0"]; - endpoint = "giugl.io:1194"; - persistentKeepalive = 25; - } - ]; - }; - }; - - fileSystems."/tmp" = { - device = "tmpfs"; - fsType = "tmpfs"; - options = ["size=2G"]; - }; - - fileSystems."/home/giulio/Downloads" = { - device = "tmpfs"; - fsType = "tmpfs"; - options = ["size=3G"]; - }; -} - diff --git a/hosts/gAluminum/default.nix b/hosts/gAluminum/default.nix new file mode 100644 index 0000000..c517385 --- /dev/null +++ b/hosts/gAluminum/default.nix @@ -0,0 +1,109 @@ +{ config, pkgs, ... }: + +let + hostname = "gAluminum"; +in { + imports = [ + ./hardware.nix + ../../variables.nix + ../../common.nix + ../../users.nix + ]; + + variables.hostname = hostname; + + boot = { + loader = { + efi.canTouchEfiVariables = true; + efi.efiSysMountPoint = "/boot/efi"; + systemd-boot.enable = true; + }; + + initrd.luks.devices = { + root = { + device = "/dev/disk/by-uuid/c2bac3a6-0999-4e1d-a676-bf4bcafee2d4"; + preLVM = true; + allowDiscards = true; + }; + }; + }; + + networking = { + hostName = hostname; + + wg-quick.interfaces = { + giupi = { + address = ["10.3.0.2/32"]; + privateKeyFile = "/etc/wireguard/giupi.key"; + dns = ["10.3.0.1"]; + peers = [ + { + publicKey = "I4glUMvIGjjhvQMKhwGc8copPl2t9Us/YYRjT0BKuiw="; + allowedIPs = ["0.0.0.0/0"]; + endpoint = "giugl.io:1194"; + persistentKeepalive = 25; + } + ]; + }; + }; + }; + + time.timeZone = "Europe/London"; + + services = { + xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + libinput.enable = true; + layout = "us"; + xkbOptions = "eurosign:e"; + }; + + printing.enable = true; + dbus.packages = with pkgs; [ gnome3.dconf ]; + udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ]; + }; + + sound.enable = true; + hardware.pulseaudio.enable = true; + + environment.systemPackages = with pkgs; [ + wget + git + pciutils + curl + virtualbox + cmake + ninja + gdb + htop + glances + tcpdump + restic + gnomeExtensions.appindicator + binutils + efibootmgr + neovim + home-manager + ]; + + fonts.fonts = with pkgs; [cascadia-code]; + + system.stateVersion = "21.05"; # Did you read the comment? + + security.pam.services.gdm.enableGnomeKeyring = true; + + fileSystems."/tmp" = { + device = "tmpfs"; + fsType = "tmpfs"; + options = ["size=2G"]; + }; + + fileSystems."/home/giulio/Downloads" = { + device = "tmpfs"; + fsType = "tmpfs"; + options = ["size=3G"]; + }; +} + diff --git a/hosts/gAluminum/hardware-configuration.nix b/hosts/gAluminum/hardware.nix similarity index 100% rename from hosts/gAluminum/hardware-configuration.nix rename to hosts/gAluminum/hardware.nix diff --git a/users.nix b/users.nix index fc56c82..b2b5c23 100644 --- a/users.nix +++ b/users.nix @@ -5,6 +5,11 @@ description = "Giulio De Pasquale"; isNormalUser = true; shell = pkgs.zsh; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + extraGroups = [ "wheel" "docker" "networkmanager" ]; + }; + + programs.zsh = { + enableBashCompletion = true; + enableCompletion = true; }; }