diff --git a/common.nix b/common.nix index d2948be..81c19c8 100755 --- a/common.nix +++ b/common.nix @@ -16,7 +16,7 @@ users.quadradical = { isNormalUser = true; description = "QuadRadical"; - extraGroups = ["networkmanager" "wheel" "wireshark"]; + extraGroups = ["networkmanager" "wheel" "wireshark" "libvirtd" "libvirt" "input" "kvm"]; }; }; @@ -53,7 +53,6 @@ }; systemPackages = with pkgs; [ - exa micro rmtrash prettyping @@ -64,6 +63,5 @@ nixpkgs.config.allowUnfree = true; time.timeZone = "America/Toronto"; i18n.defaultLocale = "en_CA.UTF-8"; - hardware.pulseaudio.enable = false; nix.settings.experimental-features = ["nix-command" "flakes"]; } diff --git a/flake.lock b/flake.lock index aa2e830..546a03a 100755 --- a/flake.lock +++ b/flake.lock @@ -1,21 +1,5 @@ { "nodes": { - "adwaita-steam": { - "flake": false, - "locked": { - "lastModified": 1691923029, - "narHash": "sha256-0V0+knSgaiWO6CrOEowM2VIDM+Gi0GBxgzAio4rlvSk=", - "owner": "tkashkin", - "repo": "Adwaita-for-Steam", - "rev": "984b39e1dabebaeb6e718fa240824ae3e0e6c6aa", - "type": "github" - }, - "original": { - "owner": "tkashkin", - "repo": "Adwaita-for-Steam", - "type": "github" - } - }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -37,11 +21,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1691114147, - "narHash": "sha256-0IS5na2WRSNWNygHhmZOcXhdrx2aFhCDQY8XVVeHf8Q=", + "lastModified": 1696121307, + "narHash": "sha256-jmYHoZYx2/dSvDH/khg7vi2qaKKuXK1g8pnvcRyLw/4=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "08884fb6be1c74a81f5e0a35a81c3f219e109028", + "rev": "ecac4b99d490e57af2c0d5ffa89b5923ca838a35", "type": "github" }, "original": { @@ -66,6 +50,24 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -89,11 +91,11 @@ ] }, "locked": { - "lastModified": 1692260837, - "narHash": "sha256-2FpkX1zl+7ni7djK7NeE1ZGupRUwZgjW+RPCSBgDf4k=", + "lastModified": 1696409884, + "narHash": "sha256-hz3i4wFJHoTIAEI19oF1fiPn6TpV+VuTSOrSHUoJMgs=", "owner": "nix-community", "repo": "home-manager", - "rev": "6a94c1a59737783c282c4031555a289c28b961e4", + "rev": "8aef005d44ee726911e9f793495bb40f2fbf5a05", "type": "github" }, "original": { @@ -110,11 +112,11 @@ ] }, "locked": { - "lastModified": 1689134369, - "narHash": "sha256-0G9dutIvhS/WUr3Awcnqw71g8EVVvvkOhVDnDDbY4Fw=", + "lastModified": 1691882297, + "narHash": "sha256-e1/LAQSGLnBywfA1TfMl0Vj3tvYka73XOZ/D2/CJowE=", "owner": "nix-community", "repo": "home-manager", - "rev": "e42fb59768f0305085abde0dd27ab5e0cc15420c", + "rev": "c3ab5ea047e6dc73df530948f7367455749d8906", "type": "github" }, "original": { @@ -123,13 +125,34 @@ "type": "github" } }, + "nix-gaming": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1696332552, + "narHash": "sha256-chsT/zHLDn1+gOACWtQmZrSWlVPTuNBYCSa9uZkQsvE=", + "owner": "fufexan", + "repo": "nix-gaming", + "rev": "cd66002bb827370c9076cadda5584b7ed15f7480", + "type": "github" + }, + "original": { + "owner": "fufexan", + "repo": "nix-gaming", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1692174805, - "narHash": "sha256-xmNPFDi/AUMIxwgOH/IVom55Dks34u1g7sFKKebxUm0=", + "lastModified": 1696193975, + "narHash": "sha256-mnQjUcYgp9Guu3RNVAB2Srr1TqKcPpRXmJf4LJk6KRY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "caac0eb6bdcad0b32cb2522e03e4002c8975c62e", + "rev": "fdd898f8f79e8d2f99ed2ab6b3751811ef683242", "type": "github" }, "original": { @@ -139,43 +162,46 @@ "type": "github" } }, - "nixpkgs-google": { + "nixpkgs-lib": { "locked": { - "dirtyRev": "4c85ec65e1b1a944292d920e8787ba9ed64e60c0-dirty", - "dirtyShortRev": "4c85ec65e1b-dirty", - "lastModified": 1692221574, - "narHash": "sha256-V2IuHXUFHFPjaOTmKF74z4MnQFMI4VAZs9gYmj+qxXQ=", - "type": "git", - "url": "file:/home/quadradical/Documents/Code/nixpkgs/" - }, - "original": { - "type": "git", - "url": "file:/home/quadradical/Documents/Code/nixpkgs/" - } - }, - "nixpkgs-heroic": { - "locked": { - "lastModified": 1691099305, - "narHash": "sha256-Yg3OGAt+wSakpBJoZNb1zuVU/kLPxOfbCXTWe11GeD0=", - "owner": "aidalgol", + "dir": "lib", + "lastModified": 1693471703, + "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "4523c65f95093a267ffe545a4be67a0d8773e0d5", + "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", "type": "github" }, "original": { - "owner": "aidalgol", - "ref": "heroic-2.9", + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-master": { + "locked": { + "lastModified": 1696429540, + "narHash": "sha256-5E1T5OQkImk3hsZ9D7xpGbEGt/8bD8ciZyYS9/laPz4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "91782588964678a13e7aa4b90910964d9db56314", + "type": "github" + }, + "original": { + "owner": "nixos", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1690441914, - "narHash": "sha256-Ac+kJQ5z9MDAMyzSc0i0zJDx2i3qi9NjlW5Lz285G/I=", + "lastModified": 1691853136, + "narHash": "sha256-wTzDsRV4HN8A2Sl0SVQY0q8ILs90CD43Ha//7gNZE+E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "db8672b8d0a2593c2405aed0c1dfa64b2a2f428f", + "rev": "f0451844bbdf545f696f029d1448de4906c7f753", "type": "github" }, "original": { @@ -193,11 +219,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1692276395, - "narHash": "sha256-FPnMYkd8Q7SmREGA2c7VrR2PPG2crSYMQe08xYiwSc4=", + "lastModified": 1696377142, + "narHash": "sha256-yTAncJAehy+w+4VLGZANE3kI6wa9+nklyD0mU49BJZE=", "owner": "wamserma", "repo": "flake-programs-sqlite", - "rev": "0d46a2c7b9ac7db45f738088e1d0cd6925fa15a3", + "rev": "2ac582da8e6d9fb4917bda7fc89ca5253365d6f5", "type": "github" }, "original": { @@ -208,12 +234,11 @@ }, "root": { "inputs": { - "adwaita-steam": "adwaita-steam", "firefox-gnome-theme": "firefox-gnome-theme", "home-manager": "home-manager", + "nix-gaming": "nix-gaming", "nixpkgs": "nixpkgs", - "nixpkgs-google": "nixpkgs-google", - "nixpkgs-heroic": "nixpkgs-heroic", + "nixpkgs-master": "nixpkgs-master", "programsdb": "programsdb", "stylix": "stylix" } @@ -226,11 +251,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691942466, - "narHash": "sha256-bK6FFbsKtyLKJLwgHerWp/EMMoWqE0UJk0KEbgYICbY=", + "lastModified": 1694375893, + "narHash": "sha256-oJGESNjJ/6o6tfuUavBZ7go4Oun7g9YKv7OqaQaY/80=", "owner": "danth", "repo": "stylix", - "rev": "beb35709c9a769a5f279d3177af778a15dcbda46", + "rev": "c3c9f4784b4f08f6676340126858d936edbce1fa", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 423fac1..339e722 100755 --- a/flake.nix +++ b/flake.nix @@ -1,16 +1,15 @@ { inputs = { - nixpkgs-heroic.url = "github:aidalgol/nixpkgs?ref=heroic-2.9"; - nixpkgs-google.url = "git+file:/home/quadradical/Documents/Code/nixpkgs/"; + nixpkgs-master.url = "github:nixos/nixpkgs"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; stylix.url = "github:danth/stylix"; firefox-gnome-theme = { url = "github:rafaelmardojai/firefox-gnome-theme"; flake = false; }; - adwaita-steam = { - url = "github:tkashkin/Adwaita-for-Steam"; - flake = false; + nix-gaming = { + url = "github:fufexan/nix-gaming"; + inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; @@ -37,13 +36,14 @@ }; modules = [ + ./common.nix "${self}/${hostname}/configuration.nix" "${self}/${hostname}/hardware-configuration.nix" - ./common.nix + inputs.nix-gaming.nixosModules.pipewireLowLatency ] ++ nixpkgs.lib.optionals (builtins.pathExists "${self}/${hostname}/home-manager.nix") [ - home-manager.nixosModules.home-manager "${self}/${hostname}/home-manager.nix" + home-manager.nixosModules.home-manager ] ++ nixpkgs.lib.optionals (builtins.pathExists "${self}/${hostname}/stylix.nix") [ stylix.nixosModules.stylix diff --git a/home-manager/direnv.nix b/home-manager/direnv.nix new file mode 100644 index 0000000..2b124d7 --- /dev/null +++ b/home-manager/direnv.nix @@ -0,0 +1,7 @@ +{ + programs.direnv = { + enable = true; + enableFishIntegration = true; + nix-direnv.enable = true; + }; +} diff --git a/home-manager/exa.nix b/home-manager/eza.nix similarity index 90% rename from home-manager/exa.nix rename to home-manager/eza.nix index 93f1bb0..f0ac304 100644 --- a/home-manager/exa.nix +++ b/home-manager/eza.nix @@ -1,5 +1,5 @@ { - programs.exa = { + programs.eza = { enable = true; enableAliases = true; icons = true; diff --git a/home-manager/gtk.nix b/home-manager/gtk.nix index 6eefb27..616b509 100644 --- a/home-manager/gtk.nix +++ b/home-manager/gtk.nix @@ -13,7 +13,7 @@ cursorTheme = { name = "GoogleDot-Blue"; - package = inputs.nixpkgs-google.legacyPackages.x86_64-linux.google-cursor; + package = pkgs.google-cursor; }; }; } diff --git a/home-manager/vscode.nix b/home-manager/vscode.nix index a7c8a79..bc82a42 100755 --- a/home-manager/vscode.nix +++ b/home-manager/vscode.nix @@ -3,15 +3,17 @@ enable = true; package = pkgs.vscodium; extensions = with pkgs.vscode-extensions; [ + mkhl.direnv eamodio.gitlens - usernamehw.errorlens timonwong.shellcheck + usernamehw.errorlens + kamadorueda.alejandra ritwickdey.liveserver dbaeumer.vscode-eslint esbenp.prettier-vscode oderwat.indent-rainbow astro-build.astro-vscode - vscode-icons-team.vscode-icons + pkief.material-icon-theme streetsidesoftware.code-spell-checker arcticicestudio.nord-visual-studio-code ]; @@ -26,7 +28,6 @@ } ]; userSettings = { - "editor.bracketPairColorization.enabled" = true; "editor.guides.bracketPairs" = "active"; "window.dialogStyle" = "custom"; "editor.inlineSuggest.enabled" = true; @@ -55,6 +56,7 @@ "gitlens.currentLine.enabled" = false; "gitlens.codeLens.enabled" = false; "workbench.colorTheme" = "Nord"; + "workbench.iconTheme" = "material-icon-theme"; "typescript.updateImportsOnFileMove.enabled" = "always"; "editor.wordWrap" = "on"; "[astro]" = { @@ -65,6 +67,14 @@ "editor.minimap.enabled" = false; "diffEditor.ignoreTrimWhitespace" = false; "editor.unicodeHighlight.nonBasicASCII" = false; + "dart.checkForSdkUpdates" = false; + "editor.codeActionsOnSave" = { + "source.fixAll" = true; + }; + "editor.bracketPairColorization.enabled" = true; + "explorer.fileNesting.enabled" = true; + "explorer.fileNesting.expand" = false; + "window.zoomLevel" = 1; }; }; } diff --git a/quadraticpc/configuration.nix b/quadraticpc/configuration.nix index 431f9ed..b470955 100755 --- a/quadraticpc/configuration.nix +++ b/quadraticpc/configuration.nix @@ -30,7 +30,7 @@ intelBusId = "PCI:00:02:0"; nvidiaBusId = "PCI:01:00:0"; }; - open = true; + open = false; nvidiaSettings = false; modesetting.enable = true; nvidiaPersistenced = true; @@ -43,6 +43,11 @@ networkmanager.enable = true; }; + nix.settings = { + substituters = ["https://nix-gaming.cachix.org"]; + trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="]; + }; + services = { earlyoom = { enable = true; @@ -62,6 +67,7 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; + lowLatency.enable = true; }; avahi = { @@ -82,11 +88,11 @@ sessionVariables = { MANGOHUD = "1"; - XDG_DATA_HOME = "$HOME/.local/share"; EDITOR = "micro"; VISUAL = "micro"; - NIXOS_OZONE_WL = "1"; fish_greeting = ""; + NIXOS_OZONE_WL = "1"; + GAMEMODERUNEXEC = "nvidia-offload"; }; systemPackages = with pkgs; ([ @@ -94,21 +100,28 @@ tldr tuba gimp + heroic aspell nodejs killall - armcord ripgrep hyfetch inkscape - pciutils r2modman + pciutils + alejandra + grapejuice libreoffice mediawriter + virt-manager + wl-clipboard + android-studio nodePackages.pnpm hunspellDicts.en_CA-large - wineWowPackages.stagingFull - inputs.nixpkgs-heroic.legacyPackages.x86_64-linux.heroic + (pkgs.discord.override { + withOpenASAR = true; + withVencord = true; + }) ] ++ (with gnomeExtensions; [ caffeine @@ -130,6 +143,7 @@ enable = true; package = pkgs.wireshark; }; + gamemode.enable = true; fish.interactiveShellInit = "neofetch"; }; @@ -138,15 +152,9 @@ memoryPercent = 100; }; - system = { - autoUpgrade = { - enable = true; - flake = "/home/quadradical/.config/nixos/flake.nix"; - operation = "boot"; - }; - stateVersion = "23.05"; - }; + system.stateVersion = "23.05"; sound.enable = true; hardware.pulseaudio.enable = false; + virtualisation.libvirtd.enable = true; } diff --git a/quadraticpc/home-manager.nix b/quadraticpc/home-manager.nix index 1584389..d846142 100755 --- a/quadraticpc/home-manager.nix +++ b/quadraticpc/home-manager.nix @@ -15,10 +15,11 @@ } ../home-manager/gtk.nix ../home-manager/bat.nix - ../home-manager/exa.nix + ../home-manager/eza.nix ../home-manager/git.nix ../home-manager/btop.nix ../home-manager/vscode.nix + ../home-manager/direnv.nix ../home-manager/firefox.nix ../home-manager/neofetch.nix ../home-manager/mangohud.nix