diff --git a/flake.nix b/flake.nix index 339d2d3..ef51dfb 100644 --- a/flake.nix +++ b/flake.nix @@ -93,16 +93,16 @@ in { nixosConfigurations = { - laptop = mkNixOS "laptop"; arrakis = mkNixOS "arrakis"; + trantor = mkNixOS "trantor"; desktop = mkNixOS "desktop"; pi = mkNixOS "pi"; live = mkNixOS "live"; }; homeConfigurations = { - laptop = mkHome "laptop" x86; arrakis = mkHome "arrakis" x86; + trantor = mkHome "trantor" x86; desktop = mkHome "desktop" x86; pi = mkHome "pi" aarch64; }; diff --git a/home/trantor/default.nix b/home/trantor/default.nix new file mode 100644 index 0000000..370f404 --- /dev/null +++ b/home/trantor/default.nix @@ -0,0 +1,49 @@ +{ + inputs, + lib, + pkgs, + config, + outputs, + catppuccin, + ... +}: +{ + imports = [ + inputs.nix-colors.homeManagerModule + inputs.nixvim.homeManagerModules.nixvim + catppuccin.homeManagerModules.catppuccin + ../common/programs/default.nix + ../common/programs/desktop + ../common/programs/hyprland + ../common/programs/eww + ../common/programs/kitty.nix + ../common/programs/syncthing.nix + ../common/features/colorscheme.nix + ../common/features/xdg.nix + ../common/features/bluetooth.nix + ]; + + home.sessionVariables = { + LIBVA_DRIVER_NAME = "nvidia"; + XDG_SESSION_TYPE = "wayland"; + GDM_BACKEND = "nvidia-drm"; + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + }; + + wayland.windowManager.hyprland.settings = { + monitor = [ "eDP-1, preferred, 0x1080, 1, bitdepth, 8" ]; + windowrulev2 = [ + "float, class:thunar" + "move cursor -50% -50%, class:thunar" + "size 800 600, class:thunar" + ]; + }; + + programs.kitty.settings.font_size = 12; + + home = { + username = lib.mkDefault "naps62"; + stateVersion = lib.mkDefault "24.05"; + }; + +} diff --git a/hosts/arrakis/hardware-configuration.nix b/hosts/arrakis/hardware-configuration.nix index 94dbaac..cf6b5aa 100644 --- a/hosts/arrakis/hardware-configuration.nix +++ b/hosts/arrakis/hardware-configuration.nix @@ -8,33 +8,34 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "rtsx_pci_sdmmc" ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/d0c50eb6-ac06-4912-a28c-a9f21223b5c0"; + { device = "/dev/disk/by-uuid/a9390fca-9ec2-4248-b003-a6ce47ad4fab"; fsType = "ext4"; }; - boot.initrd.luks.devices."luks-ea55a0cd-a045-44b8-8ea8-7d6f5820db58".device = "/dev/disk/by-uuid/ea55a0cd-a045-44b8-8ea8-7d6f5820db58"; + boot.initrd.luks.devices."luks-aa168861-6ecf-4fcc-8a0d-6e1555892747".device = "/dev/disk/by-uuid/aa168861-6ecf-4fcc-8a0d-6e1555892747"; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/84C0-4E34"; + { device = "/dev/disk/by-uuid/90C1-FFCD"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; }; - swapDevices = [ ]; + swapDevices = + [ { device = "/dev/disk/by-uuid/a3d4d835-23fe-4e63-9c4e-887bd4f21592"; } + ]; # 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.docker0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/hosts/trantor/default.nix b/hosts/trantor/default.nix new file mode 100644 index 0000000..5bd5e16 --- /dev/null +++ b/hosts/trantor/default.nix @@ -0,0 +1,59 @@ +{ + inputs, + pkgs, + config, + ... +}: +let + tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet"; + hyprland-session = "${pkgs.hyprland}/share/wayland-sessions"; +in +{ + imports = [ + ./hardware-configuration.nix + ../common/global + ../common/features/laptop.nix + ../common/features/networking.nix + ../common/features/nvidia.nix + ../common/features/wayland.nix + ../common/features/pipewire.nix + ../common/features/docker.nix + ../common/features/fonts.nix + ../common/features/nix-ld.nix + ../common/features/bluetooth.nix + ]; + + networking.hostName = "arrakis"; + + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; + + system.stateVersion = "24.05"; + + programs.zsh.enable = true; + + users.users.naps62 = { + isNormalUser = true; + description = "Miguel Palhas"; + extraGroups = [ + "networkmanager" + "input" + "wheel" + "docker" + ]; + shell = pkgs.zsh; + initialHashedPassword = "$y$j9T$uRTzF/sBdrqVGZTRhPuR00$wgLgEGlq.lEmlCPiy69jkbtfC9HKpyaVPDHDdBGtE5D"; + openssh.authorizedKeys.keys = + let + authorizedKeys = pkgs.fetchurl { + url = "https://github.com/naps62.keys"; + sha256 = "sha256-dP8LjaburPwfIr2jhly9rMwOLJyUkQP7Em5IKH/qXbY="; + }; + in + pkgs.lib.splitString "\n" (builtins.readFile authorizedKeys); + }; +} diff --git a/hosts/trantor/hardware-configuration.nix b/hosts/trantor/hardware-configuration.nix new file mode 100644 index 0000000..94dbaac --- /dev/null +++ b/hosts/trantor/hardware-configuration.nix @@ -0,0 +1,41 @@ +# 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 = [ "xhci_pci" "nvme" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/d0c50eb6-ac06-4912-a28c-a9f21223b5c0"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-ea55a0cd-a045-44b8-8ea8-7d6f5820db58".device = "/dev/disk/by-uuid/ea55a0cd-a045-44b8-8ea8-7d6f5820db58"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/84C0-4E34"; + 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.docker0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}