diff options
-rw-r--r-- | flake.lock | 108 | ||||
-rw-r--r-- | flake.nix | 5 | ||||
-rw-r--r-- | machines/dex.nix | 69 | ||||
-rw-r--r-- | modules/common.nix | 17 | ||||
-rw-r--r-- | modules/desktop.nix | 2 |
5 files changed, 150 insertions, 51 deletions
@@ -9,11 +9,11 @@ ] }, "locked": { - "lastModified": 1690228878, - "narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=", + "lastModified": 1694793763, + "narHash": "sha256-y6gTE1C9mIoSkymRYyzCmv62PFgy+hbZ5j8fuiQK5KI=", "owner": "ryantm", "repo": "agenix", - "rev": "d8c973fd228949736dedf61b7f8cc1ece3236792", + "rev": "572baca9b0c592f71982fca0790db4ce311e3c75", "type": "github" }, "original": { @@ -51,11 +51,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1692037570, - "narHash": "sha256-bvj/wfLLFTc8cWAwhN8tgShiy8ekPWt1+gWlEH7W4zY=", + "lastModified": 1695149611, + "narHash": "sha256-RCxUQJ9uQdioFcHe2HYiJQBo3qVLBTzd3DTHRXLlVlM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "7a4b5bbc06182e2f704630cd77a614ab0d9c2f2e", + "rev": "aee5e8a427c8a942458d2bad7b97cbad30b75aec", "type": "github" }, "original": { @@ -69,11 +69,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -103,13 +103,54 @@ "type": "github" } }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1695152592, + "narHash": "sha256-AW4gs1IiQUOgnYs6N+v+6wWSQDKlwCBUJJ6aB0n9JPs=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "e4e321a36922ee02682348b3e0eaa3c4a01deb31", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1690328911, + "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1691871742, - "narHash": "sha256-6yDNjfbAMpwzWL4y75fxs6beXHRANfYX8BNSPjYehck=", + "lastModified": 1695109627, + "narHash": "sha256-4rpyoVzmunIG6xWA/EonnSSqC69bDBzciFi6SjBze/0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "430a56dd16fe583a812b2df44dca002acab2f4f6", + "rev": "cb4dc98f776ddb6af165e6f06b2902efe31ca67a", "type": "github" }, "original": { @@ -121,11 +162,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691899779, - "narHash": "sha256-IBf4KVr/UQJlzrqB2/IHtlvmwsvyIVLPerSzCPU/6Xk=", + "lastModified": 1694959747, + "narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "100a1550b0e7a64b960c625b656f9229bdef5f87", + "rev": "970a59bd19eff3752ce552935687100c46e820a5", "type": "github" }, "original": { @@ -137,11 +178,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1691950488, - "narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=", + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "720e61ed8de116eec48d6baea1d54469b536b985", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { @@ -153,11 +194,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691990649, - "narHash": "sha256-gMbKOiX1HwClRP9lADaaV/lnZr93NEaOFe4ApDx/zd8=", + "lastModified": 1694959747, + "narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e287913f7b1ef537c97aa301b67c34ea46b640f", + "rev": "970a59bd19eff3752ce552935687100c46e820a5", "type": "github" }, "original": { @@ -169,11 +210,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691950488, - "narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=", + "lastModified": 1690179384, + "narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b12803b6d90e2e583429bb79b859ca53c348b39a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "720e61ed8de116eec48d6baea1d54469b536b985", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { @@ -187,8 +244,9 @@ "inputs": { "agenix": "agenix", "emacs-overlay": "emacs-overlay", + "jovian": "jovian", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable" } }, @@ -5,9 +5,10 @@ inputs.emacs-overlay.url = "github:nix-community/emacs-overlay"; inputs.agenix.url = "github:ryantm/agenix"; inputs.agenix.inputs.nixpkgs.follows = "nixpkgs"; + inputs.jovian.url = "github:Jovian-Experiments/Jovian-NixOS"; outputs = - { self, nixpkgs, nixpkgs-unstable, nixos-hardware, emacs-overlay, agenix }: + { self, nixpkgs, nixpkgs-unstable, nixos-hardware, emacs-overlay, agenix, jovian }: let pkgs-module = { config, ... }: let @@ -77,7 +78,7 @@ (self.lastModifiedDate or self.lastModified or "19700101"); in "${lastModified}.${self.shortRev or "dirty"}"; }) - ]; + ] ++ lib.optional (hostName == "dex") jovian.nixosModules.jovian; }; }; myMachines = [ diff --git a/machines/dex.nix b/machines/dex.nix index b06d450..db2928c 100644 --- a/machines/dex.nix +++ b/machines/dex.nix @@ -19,6 +19,35 @@ with lib; HandlePowerKey=suspend ''; + # Enable the X11 windowing system. + services.xserver.enable = true; + + services.xserver.displayManager.sddm.enable = lib.mkForce false; # Cannot use with jovian + + # Steam setup + jovian.steam.autoStart = true; + jovian.steam.desktopSession = "river"; + jovian.steam.enable = true; + jovian.steam.user = "orbekk"; + jovian.devices.steamdeck.enable = true; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + nix.gc.persistent = false; networking.networkmanager.enable = true; networking.hostName = "dex"; @@ -29,49 +58,41 @@ with lib; security.pam.enableFscrypt = true; - system.activationScripts.fix = '' - chown root / - ''; - # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = false; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sdhci" "sdhci_pci" "cqhci" "mmc_block" ]; - boot.initrd.kernelModules = [ "amdgpu" ]; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; - boot.kernelPackages = pkgs.unstable.linuxPackages_latest; - boot.kernelParams = [ - "amd_iommu=off" - "amdgpu.gttsize=8128" - "spi_amd.speed_dev=1" - "audit=0" - ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/52d3077e-d1be-4976-a2ca-f2d879a808c1"; - fsType = "ext4"; - }; + system.stateVersion = "23.05"; - fileSystems."/home" = - { device = "/dev/disk/by-label/home"; + # hardware-configuration + fileSystems."/" = + { device = "/dev/disk/by-uuid/41d480f8-52e9-40d5-bd12-a3aa48ccf1b5"; fsType = "ext4"; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/D381-BD0D"; + { device = "/dev/disk/by-uuid/7DFD-854D"; fsType = "vfat"; }; - swapDevices = [ ]; + swapDevices = + [ { device = "/dev/disk/by-uuid/10757668-8f17-4677-b405-f1d1095a81ac"; } + ]; + # 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.<interface>.useDHCP`. networking.useDHCP = lib.mkDefault true; + # networking.interfaces.eth0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - - system.stateVersion = "23.05"; # Did you read the comment? } diff --git a/modules/common.nix b/modules/common.nix index aafc1b0..8ae3b06 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -23,6 +23,21 @@ ]; environment.variables.EDITOR = "${pkgs.neovim}/bin/nvim"; + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + # nix.settings = { # keep-outputs = true; # keep-derivations = true; @@ -125,4 +140,6 @@ boot.tmp.cleanOnBoot = true; nixpkgs.config.allowUnfree = true; + hardware.enableAllFirmware = true; + hardware.enableRedistributableFirmware = true; } diff --git a/modules/desktop.nix b/modules/desktop.nix index 4be9f11..be7af4d 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -64,6 +64,7 @@ in { alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; + jack.enable = true; }; fonts = { @@ -144,6 +145,7 @@ in { xss-lock dunst transmission-qt + qt5.qtwayland ]; # i18n.inputMethod = { |