diff --git a/common.nix b/common.nix index 3a14546..781f311 100644 --- a/common.nix +++ b/common.nix @@ -42,6 +42,9 @@ with builtins; { environment = { systemPackages = with pkgs; [ + overskride + pulsemixer + htmlq prusa-slicer diff --git a/flake.lock b/flake.lock index b11db88..08d4a52 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "crane": { "locked": { - "lastModified": 1729273024, - "narHash": "sha256-Mb5SemVsootkn4Q2IiY0rr9vrXdCCpQ9HnZeD/J3uXs=", + "lastModified": 1731098351, + "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", "owner": "ipetkov", "repo": "crane", - "rev": "fa8b7445ddadc37850ed222718ca86622be01967", + "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", "type": "github" }, "original": { @@ -23,11 +23,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1729578683, - "narHash": "sha256-h0Wmvrkadbyi3IJXFLPi+QyYjCAKDr2xQ6dLxlQ8cXY=", + "lastModified": 1731133750, + "narHash": "sha256-gZ3m8e176ai+akwiayg7Mve73rcUCD0+l6OMMFhGEYI=", "owner": "nix-community", "repo": "fenix", - "rev": "d66cda53e8193a878742dcadb5bb75f4df7c3c0a", + "rev": "87e4581cdfecbac602220fe76c67b37d2d1ee995", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1729477666, - "narHash": "sha256-ri40XjKyZIMH5wBCFNa50dq5wTBPF5qH/NVDo+syhNM=", + "lastModified": 1730790589, + "narHash": "sha256-xJ6bQ4VmdTB7A+dMbmOMaZ8a6erB6rkZkB+yzqD7gd4=", "owner": "helix-editor", "repo": "helix", - "rev": "6d64e6288add793caf1c841ea295518414c04ea0", + "rev": "b53dafe326d51b7f64a1c52379e3d4150cd2991e", "type": "github" }, "original": { @@ -119,11 +119,11 @@ ] }, "locked": { - "lastModified": 1729551526, - "narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", + "lastModified": 1730837930, + "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", "owner": "nix-community", "repo": "home-manager", - "rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", + "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", "type": "github" }, "original": { @@ -135,11 +135,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1727712632, - "narHash": "sha256-7kaZRZCWG8PmxwIDTVKjJo3VtAGDun7mqfAMlucQbdQ=", - "rev": "a16ceb9411c57993d811c6bebb517742fe3d34e3", + "lastModified": 1731164513, + "narHash": "sha256-WnT6MpgrMKgqV2Rs+MfU88+KO+/njELPOtGoNhoX2oA=", + "rev": "b967f1d5fe9d1bf58e6159e9b426c5b341489397", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/a16ceb9411c57993d811c6bebb517742fe3d34e3.tar.gz?rev=a16ceb9411c57993d811c6bebb517742fe3d34e3" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/b967f1d5fe9d1bf58e6159e9b426c5b341489397.tar.gz?rev=b967f1d5fe9d1bf58e6159e9b426c5b341489397" }, "original": { "type": "tarball", @@ -156,11 +156,11 @@ ] }, "locked": { - "lastModified": 1727752861, - "narHash": "sha256-jowmo2aEzrEpPSM96IWtajuogdJm7DjAWxFTEb7Ct0s=", + "lastModified": 1731185731, + "narHash": "sha256-RNaIu43b9PoXEhW4OqXUNZKY/jezQyCYWwdv1M0VjsA=", "ref": "refs/heads/main", - "rev": "fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d", - "revCount": 116, + "rev": "691193879d96bdfd1e6ab5ebcca2fadc7604cf34", + "revCount": 117, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, @@ -172,7 +172,7 @@ "mac-brcm-fw": { "flake": false, "locked": { - "lastModified": 1709065070, + "lastModified": 1727366922, "narHash": "sha256-+kW8ogc6DykjMVlrr+3vWKs9ZUdJ9EW72LbY7k/Qvh4=", "path": "/home/jade/nix-configs/mac-brcm-fw", "type": "path" @@ -200,11 +200,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729413321, - "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { @@ -230,11 +230,11 @@ }, "nixpkgs-unstable-small": { "locked": { - "lastModified": 1729577921, - "narHash": "sha256-bxktXyAj3818+okqwaR9L/F4UREnry0OEjnYqwYVdkc=", + "lastModified": 1731136819, + "narHash": "sha256-qGmBFnq3/9AiiLZUOVxDsU5j6ysL3PXA8KRp7muJWMs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29dccd64f527eebafce219e7ca2bfda5fee75456", + "rev": "4a2c7def574d031cbf3d7110969f2ca5f38f8ed7", "type": "github" }, "original": { @@ -260,11 +260,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1729533545, - "narHash": "sha256-A/AuEWcGwwjpfBCZqWDNNg5GwYrJduzLvlMe+A7xG5U=", + "lastModified": 1731056261, + "narHash": "sha256-TPeXChHVcaCBAoE349K7OZH4We5/2ys1GgG4IiwjwOs=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "de2ff17bc513807412d7bbaba1d995a774938583", + "rev": "dd9cd22514cb1001a0a2374b36a85eb75245f27b", "type": "github" }, "original": { diff --git a/hosts/monosodium-glutamate-g/configuration.nix b/hosts/monosodium-glutamate-g/configuration.nix index 97881a3..5c20795 100644 --- a/hosts/monosodium-glutamate-g/configuration.nix +++ b/hosts/monosodium-glutamate-g/configuration.nix @@ -82,23 +82,7 @@ # networking.firewall.allowedTCPPorts = [ 4713 ]; systemd.services."NetworkManager-wait-online".enable = false; - systemd.services = { - create-swapfile = { - serviceConfig.Type = "oneshot"; - wantedBy = ["swap-swapfile.swap"]; - script = '' - swapfile="/swap/swapfile" - if [[ -f "$swapfile" ]]; then - echo "Swap file $swapfile already exists, taking no action" - else - echo "Setting up swap file $swapfile" - ${pkgs.coreutils}/bin/truncate -s 0 "$swapfile" - ${pkgs.e2fsprogs}/bin/chattr +C "$swapfile" - fi - ''; - }; - }; + swapDevices = [{device = "/swap/swapfile";}]; - # release channel - system.stateVersion = "22.05"; # Did you read the comment? + system.stateVersion = "24.05"; # Did you read the comment? } diff --git a/hosts/monosodium-glutamate-g/hardware-configuration.nix b/hosts/monosodium-glutamate-g/hardware-configuration.nix index b04b33c..c414f70 100644 --- a/hosts/monosodium-glutamate-g/hardware-configuration.nix +++ b/hosts/monosodium-glutamate-g/hardware-configuration.nix @@ -12,34 +12,32 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "uas" "usbhid" "sd_mod"]; boot.initrd.kernelModules = []; boot.kernelModules = ["kvm-amd"]; boot.extraModulePackages = []; fileSystems."/" = { - device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db"; + device = "/dev/disk/by-uuid/efb8f256-5b14-4b52-a2d9-ae4b91ecb711"; fsType = "btrfs"; - options = ["subvol=@root" "compress=zstd:3"]; + options = ["subvol=@"]; }; - fileSystems."/home" = { - device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db"; - fsType = "btrfs"; - options = ["subvol=@home" "compress=zstd:3"]; - }; + boot.initrd.luks.devices."luks-919f9b8b-2804-447a-97e0-f7f515d0be56".device = "/dev/disk/by-uuid/919f9b8b-2804-447a-97e0-f7f515d0be56"; fileSystems."/boot" = { - device = "/dev/disk/by-uuid/D63E-18C9"; + device = "/dev/disk/by-uuid/3FAD-A6B4"; fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; }; - swapDevices = [ - { - device = "/swap/swapfile"; - size = (1024 * 64) + (1024 * 8); # 72G - } - ]; + fileSystems."/swap" = { + device = "/dev/disk/by-uuid/efb8f256-5b14-4b52-a2d9-ae4b91ecb711"; + fsType = "btrfs"; + options = ["subvol=swap"]; + }; + + 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 @@ -47,7 +45,9 @@ # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; # networking.interfaces.eno1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wg0-mullvad.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/monosodium-glutamate-g/modules/default.nix b/hosts/monosodium-glutamate-g/modules/default.nix index 213189f..fb1c643 100644 --- a/hosts/monosodium-glutamate-g/modules/default.nix +++ b/hosts/monosodium-glutamate-g/modules/default.nix @@ -1,4 +1,4 @@ -{}: { +{...}: { imports = [ ./graphics.nix ]; diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 56fb870..63f0143 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -28,6 +28,7 @@ in ./fonts.nix ./firefox.nix ./x.nix + ./obs.nix ]; programs.seahorse.enable = true; diff --git a/modules/desktop/obs.nix b/modules/desktop/obs.nix new file mode 100644 index 0000000..921d67e --- /dev/null +++ b/modules/desktop/obs.nix @@ -0,0 +1,23 @@ +{ + pkgs, + config, + ... +}: { + environment.systemPackages = [ + (pkgs.wrapOBS { + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + ]; + }) + ]; + + boot.extraModulePackages = with config.boot.kernelPackages; [ + v4l2loopback + ]; + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; + security.polkit.enable = true; +}