From 045287e682847bbdb395908911198f487c887a8a Mon Sep 17 00:00:00 2001 From: matt1432 Date: Fri, 29 Sep 2023 23:46:34 -0400 Subject: [PATCH] build: use flakes for config --- README.md | 3 - nixos/cfg/boot.nix | 11 +- nixos/cfg/extra-hardware.nix | 18 +- nixos/cfg/main.nix | 4 +- nixos/cfg/packages.nix | 6 +- nixos/cfg/security.nix | 6 +- nixos/configuration.nix | 21 +- nixos/flake.lock | 496 +++++++++++++++++++ nixos/flake.nix | 33 ++ nixos/hardware-configuration.nix | 22 +- nixos/home/bashdots.nix | 6 +- nixos/home/dotfiles.nix | 20 +- nixos/home/hyprland.nix | 17 +- nixos/home/main.nix | 13 +- nixos/home/packages.nix | 24 +- nixos/overlays/list.nix | 6 +- nixos/overlays/pkgs/dracula-plymouth.nix | 1 - nixos/overlays/pkgs/input-emulator.nix | 3 +- nixos/overlays/pkgs/lavanda-sddm.nix | 4 +- nixos/overlays/pkgs/pam-fprint-grosshack.nix | 5 +- nixos/overlays/swayosd.nix | 4 +- 21 files changed, 613 insertions(+), 110 deletions(-) create mode 100644 nixos/flake.lock create mode 100644 nixos/flake.nix diff --git a/README.md b/README.md index ff6cbea..ce3a22b 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,9 @@ what is currently not working: - plymouth theme has no login prompt -- sddm theme flashes white -- autosign in to keyring what i want to do: -- learn flakes - add auto-rotate widget in ags control center - when multiple widgets open, clicking on a background one puts it forward diff --git a/nixos/cfg/boot.nix b/nixos/cfg/boot.nix index ee0b95e..cb8438f 100644 --- a/nixos/cfg/boot.nix +++ b/nixos/cfg/boot.nix @@ -4,11 +4,15 @@ boot = { kernelPackages = pkgs.linuxPackages_latest; consoleLogLevel = 0; - initrd.verbose = false; - initrd.systemd.enable = true; + + initrd = { + verbose = false; + systemd.enable = true; + }; loader = { efi.canTouchEfiVariables = true; + timeout = 2; grub = { enable = true; device = "nodev"; @@ -19,15 +23,12 @@ # Because it still draws that image otherwise splashImage = null; }; - timeout = 2; }; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; - kernelModules = [ "kvm-amd" ]; - kernelParams = [ "quiet" "splash" diff --git a/nixos/cfg/extra-hardware.nix b/nixos/cfg/extra-hardware.nix index 6c5b45e..d9cdf61 100644 --- a/nixos/cfg/extra-hardware.nix +++ b/nixos/cfg/extra-hardware.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { hardware.bluetooth = { @@ -12,17 +12,19 @@ services = { udev.extraRules = '' - # give permanent path to keyboard XF86* binds - SUBSYSTEMS=="input", ATTRS{id/product}=="0006", ATTRS{id/vendor}=="0000", SYMLINK += "video-bus" - ''; + # give permanent path to keyboard XF86* binds + SUBSYSTEMS=="input", ATTRS{id/product}=="0006", ATTRS{id/vendor}=="0000", SYMLINK += "video-bus" + ''; fwupd.enable = true; # Enable CUPS to print documents. - printing.enable = true; - printing.drivers = with pkgs; [ - hplip - ]; + printing = { + enable = true; + drivers = with pkgs; [ + hplip + ]; + }; pipewire = { enable = true; diff --git a/nixos/cfg/main.nix b/nixos/cfg/main.nix index b0b860a..023e460 100644 --- a/nixos/cfg/main.nix +++ b/nixos/cfg/main.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ ... }: { imports = [ @@ -6,5 +6,5 @@ ./extra-hardware.nix ./security.nix ./packages.nix - ]; + ]; } diff --git a/nixos/cfg/packages.nix b/nixos/cfg/packages.nix index 46ae3ea..22cf9b1 100644 --- a/nixos/cfg/packages.nix +++ b/nixos/cfg/packages.nix @@ -1,4 +1,4 @@ -{config, pkgs, lib, ...}: +{ pkgs, hyprland, ... }: { systemd.user.services.protonmail-bridge = { @@ -30,10 +30,10 @@ }; }; sessionPackages = [ - (builtins.getFlake "github:hyprwm/Hyprland").packages.x86_64-linux.default + hyprland.packages.x86_64-linux.default ]; defaultSession = "hyprland"; - autoLogin = { # logs out after a minute + autoLogin = { enable = true; user = "matt"; }; diff --git a/nixos/cfg/security.nix b/nixos/cfg/security.nix index fe49389..d20ffe1 100644 --- a/nixos/cfg/security.nix +++ b/nixos/cfg/security.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ pkgs, lib, ... }: { services.fprintd.enable = true; @@ -11,7 +11,7 @@ services.logind.lidSwitch = "lock"; services.gnome.gnome-keyring.enable = true; - + # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; @@ -23,7 +23,7 @@ ''; security.pam.services = { - + gtklock = {}; # all the changes in /etc/pam.d/* diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 1ea9d66..5196c92 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,13 +1,12 @@ { config, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ./overlays/list.nix - ./cfg/main.nix - ./home/main.nix - ]; + imports = [ + ./hardware-configuration.nix + ./overlays/list.nix + ./cfg/main.nix + ./home/main.nix + ]; networking = { hostName = "wim"; @@ -25,20 +24,17 @@ keyMap = "ca"; #useXkbConfig = true; # use xkbOptions in tty. }; - + nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.config.allowUnfree = true; - environment.sessionVariables = { NIXPKGS_ALLOW_UNFREE = "1"; GTK_THEME = "Dracula"; QT_QPA_PLATFORMTHEME = "qt5ct"; QT_FONT_DPI = "125"; }; - - system.autoUpgrade.channel = "https://nixos.org/channels/nixos-unstable"; - + # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It's perfectly fine and recommended to leave @@ -46,5 +42,4 @@ # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.05"; # Did you read the comment? - } diff --git a/nixos/flake.lock b/nixos/flake.lock new file mode 100644 index 0000000..bc9e398 --- /dev/null +++ b/nixos/flake.lock @@ -0,0 +1,496 @@ +{ + "nodes": { + "ags": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1695899342, + "narHash": "sha256-Tv/92TnnfehaNRugaLUAzJL/HP3D/AMo4QfkLOp9qqQ=", + "owner": "Aylur", + "repo": "ags", + "rev": "70041f3f9e5a1136727ac15fa7a5179a9d1b1213", + "type": "github" + }, + "original": { + "owner": "Aylur", + "repo": "ags", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "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" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "haskell-flake": { + "locked": { + "lastModified": 1684780604, + "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", + "owner": "srid", + "repo": "haskell-flake", + "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", + "type": "github" + }, + "original": { + "owner": "srid", + "ref": "0.3.0", + "repo": "haskell-flake", + "type": "github" + } + }, + "hercules-ci-agent": { + "inputs": { + "flake-parts": "flake-parts_3", + "haskell-flake": "haskell-flake", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1688568579, + "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", + "owner": "hercules-ci", + "repo": "hercules-ci-agent", + "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", + "type": "github" + }, + "original": { + "id": "hercules-ci-agent", + "type": "indirect" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "hercules-ci-agent": "hercules-ci-agent", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1695684520, + "narHash": "sha256-yORqGB0i1OtEf9MOCCT2BIbOd8txPZn216CM+ylMmhY=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "91fae5824f5f1199f61693c6590b4a89abaed9d7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1695984718, + "narHash": "sha256-LQwKgaaaFOkIcxarf0xQXeDJFwZ5BZWcgmPeo3xp2CM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "4f02e35f9d150573e1a710afa338846c2f6d850c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprgrass": { + "inputs": { + "hyprland": [ + "hyprland" + ] + }, + "locked": { + "lastModified": 1696036840, + "narHash": "sha256-eApMKsB2IuGeX0zlQSxyHNWuH4mKRHm48Zr9DjoYbMQ=", + "owner": "horriblename", + "repo": "hyprgrass", + "rev": "1edd66df6c02894cc5ef4d00d604dd46528b5045", + "type": "github" + }, + "original": { + "owner": "horriblename", + "repo": "hyprgrass", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "nixpkgs": "nixpkgs_2", + "systems": "systems", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1696036148, + "narHash": "sha256-7KCxZLMEQhjQXZVqVPZCxUR3lE+Z5heU7MmQjEtFFqU=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "86e8ed038f5b195cdf2548bc469f8f8bbc0caca8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1695942321, + "narHash": "sha256-a1U2X9f+zJwVHVS6PyKVqaSN5HBiWDbpP9cyZZ59TGA=", + "owner": "neovim", + "repo": "neovim", + "rev": "b917db062fc673dfbbc6a8c722b05101319ab44e", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1695945818, + "narHash": "sha256-qOELV+8oAukFHOxezqEBpplwAfTNTpWkD9B2P+G76wE=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "6fb6984f0bf3fcd4fd1c375bf879c15f2770f8aa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1693471703, + "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1688049487, + "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1695806987, + "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1695830400, + "narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "ags": "ags", + "home-manager": "home-manager", + "hyprgrass": "hyprgrass", + "hyprland": "hyprland", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixpkgs": "nixpkgs_5" + } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "wlroots": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1695919988, + "narHash": "sha256-4RBgIZHaVqH0m1POnfzYRzwCWxifIKH4xQ0kCn2LGkA=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "c2aa7fd965cb7ee8bed24f4122b720aca8f0fc1e", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "c2aa7fd965cb7ee8bed24f4122b720aca8f0fc1e", + "type": "gitlab" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1694628480, + "narHash": "sha256-Qg9hstRw0pvjGu5hStkr2UX1D73RYcQ9Ns/KnZMIm9w=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "8f45a6435069b9e24ebd3160eda736d7a391cbf2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/nixos/flake.nix b/nixos/flake.nix new file mode 100644 index 0000000..d48248a --- /dev/null +++ b/nixos/flake.nix @@ -0,0 +1,33 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + hyprland.url = "github:hyprwm/Hyprland"; + hyprgrass = { + url = "github:horriblename/hyprgrass"; + inputs.hyprland.follows = "hyprland"; + }; + + ags.url = "github:Aylur/ags"; + + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + }; + + outputs = { self, nixpkgs, home-manager, ... }@attrs: { + nixosConfigurations.wim = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = attrs; + modules = [ + ./configuration.nix + home-manager.nixosModules.home-manager { + home-manager.extraSpecialArgs = attrs; + } + ]; + }; + }; +} diff --git a/nixos/hardware-configuration.nix b/nixos/hardware-configuration.nix index 4c61ab2..a10340e 100644 --- a/nixos/hardware-configuration.nix +++ b/nixos/hardware-configuration.nix @@ -1,29 +1,27 @@ # 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, ... }: +{ config, lib, modulesPath, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/6ae4d722-dacf-485a-8d29-b276f540dc91"; - fsType = "btrfs"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/6ae4d722-dacf-485a-8d29-b276f540dc91"; + fsType = "btrfs"; + }; boot.initrd.luks.devices."root".device = "/dev/disk/by-uuid/ab82b477-2477-453f-b95f-28e5553ad10d"; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/F6E1-006D"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/F6E1-006D"; + fsType = "vfat"; + }; swapDevices = [ ]; diff --git a/nixos/home/bashdots.nix b/nixos/home/bashdots.nix index bcdef39..fe8636b 100644 --- a/nixos/home/bashdots.nix +++ b/nixos/home/bashdots.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ ... }: { programs.bash = { # TODO: deal with root dotfiles @@ -29,8 +29,8 @@ "cdspell" "dirspell" "dotglob" - ] - ; + ]; + shellAliases = { sudo = "sudo "; frick = "sudo $(fc -ln -1)"; diff --git a/nixos/home/dotfiles.nix b/nixos/home/dotfiles.nix index 7d3ec60..b53f8dd 100644 --- a/nixos/home/dotfiles.nix +++ b/nixos/home/dotfiles.nix @@ -6,21 +6,21 @@ in { xdg.configFile = { - "swayosd/style.css".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/swayosd/style.css"; + "swayosd/style.css".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/swayosd/style.css"; - "gtklock/config.ini".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/gtklock/config.ini"; - "gtklock/style.css".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/gtklock/style.css"; + "gtklock/config.ini".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/gtklock/config.ini"; + "gtklock/style.css".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/gtklock/style.css"; - "ripgrep".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/ripgrep"; + "ripgrep".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/ripgrep"; "discord/settings.json".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/discord/settings.json"; - "dolphinrc".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/dolphinrc"; - "kdeglobals".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/kdeglobals"; - "kiorc".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/kiorc"; - "mimeapps.list".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/mimeapps.list"; - "neofetch".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/neofetch"; - "swappy".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/swappy"; + "dolphinrc".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/dolphinrc"; + "kdeglobals".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/kdeglobals"; + "kiorc".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/kiorc"; + "mimeapps.list".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/mimeapps.list"; + "neofetch".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/neofetch"; + "swappy".source = config.lib.file.mkOutOfStoreSymlink "${configDir}/swappy"; }; programs = { diff --git a/nixos/home/hyprland.nix b/nixos/home/hyprland.nix index 6ab214b..088422a 100644 --- a/nixos/home/hyprland.nix +++ b/nixos/home/hyprland.nix @@ -1,15 +1,5 @@ -{ pkgs, config, ... }: let - +{ pkgs, config, hyprland, hyprgrass, ags, ... }: let configDir = "/home/matt/.nix/config"; - - flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; - - hyprland = (import flake-compat { - src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz"; - }).defaultNix; - - ags = (builtins.getFlake "github:Aylur/ags"); - in { home.packages = [ @@ -25,15 +15,16 @@ in programs.ags = { enable = true; + package = ags.packages.x86_64-linux.default; configDir = config.lib.file.mkOutOfStoreSymlink "${configDir}/ags"; }; wayland.windowManager.hyprland = { enable = true; - package = (builtins.getFlake "github:horriblename/hyprgrass").inputs.hyprland.packages.x86_64-linux.default; + package = hyprland.packages.x86_64-linux.default; plugins = [ - "${(builtins.getFlake "github:horriblename/hyprgrass").packages.x86_64-linux.default}/lib/libhyprgrass.so" + "${hyprgrass.packages.x86_64-linux.default}/lib/libhyprgrass.so" ]; extraConfig = '' diff --git a/nixos/home/main.nix b/nixos/home/main.nix index 9d46382..a9ff0b4 100644 --- a/nixos/home/main.nix +++ b/nixos/home/main.nix @@ -1,14 +1,11 @@ -{ config, pkgs, ... }: -let - home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; -in +{ home-manager, ... }: + { ## Global config to add home-manager module ############################################################################# - imports = - [ - (import "${home-manager}/nixos") - ]; + imports = [ + home-manager.nixosModules.default + ]; # Define a user account. Don't forget to set a password with 'passwd'. users.users.matt = { diff --git a/nixos/home/packages.nix b/nixos/home/packages.nix index f04031f..39454f3 100644 --- a/nixos/home/packages.nix +++ b/nixos/home/packages.nix @@ -26,7 +26,7 @@ }; }; - home.packages = with pkgs; + home.packages = with pkgs; (with python311Packages; [ python pyclip @@ -40,6 +40,12 @@ (with plasma5Packages; [ polkit-kde-agent qtstyleplugin-kvantum + ark + kcharselect + kdenlive + okular + + # Dolphin & co dolphin dolphin-plugins kdegraphics-thumbnailers @@ -47,11 +53,7 @@ kio kio-admin # needs to be both here and in system pkgs kio-extras - ark - kcharselect - kdenlive kmime - okular ]) ++ (with gnome; [ @@ -59,8 +61,8 @@ seahorse adwaita-icon-theme - ]) ++ - [ + ]) ++ [ + (writeShellScriptBin "Gparted" '' ( sleep 1.5 @@ -79,9 +81,10 @@ # School virt-manager gradle - gradle-completion + gradle-completion # not working + jdk19_headless #camunda-modeler - # + protonmail-bridge thunderbird input-emulator @@ -102,7 +105,6 @@ qt6.qtwayland bottles-unwrapped zscroll - httrack lisgd zeal acpi @@ -115,7 +117,6 @@ xdg-utils pavucontrol # TODO: open on left click gimp-with-plugins - jdk19_headless bluez-tools vlc discord @@ -149,6 +150,5 @@ squeekboard glib appimage-run - gparted # doesn't open without sudo ]; } diff --git a/nixos/overlays/list.nix b/nixos/overlays/list.nix index 31768d4..ba895c7 100644 --- a/nixos/overlays/list.nix +++ b/nixos/overlays/list.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ neovim-nightly-overlay, ... }: { nixpkgs.overlays = [ @@ -25,8 +25,6 @@ coloryou = final.callPackage ./pkgs/coloryou/default.nix {}; }) - (import (builtins.fetchTarball { - url = "https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz"; - })) + neovim-nightly-overlay.overlay ]; } diff --git a/nixos/overlays/pkgs/dracula-plymouth.nix b/nixos/overlays/pkgs/dracula-plymouth.nix index 4b1eb30..e18fcba 100644 --- a/nixos/overlays/pkgs/dracula-plymouth.nix +++ b/nixos/overlays/pkgs/dracula-plymouth.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, pkgs }: stdenv.mkDerivation { diff --git a/nixos/overlays/pkgs/input-emulator.nix b/nixos/overlays/pkgs/input-emulator.nix index 0d42c59..c9162ca 100644 --- a/nixos/overlays/pkgs/input-emulator.nix +++ b/nixos/overlays/pkgs/input-emulator.nix @@ -1,5 +1,4 @@ -{ lib -, stdenv +{ stdenv , meson , ninja , pkg-config diff --git a/nixos/overlays/pkgs/lavanda-sddm.nix b/nixos/overlays/pkgs/lavanda-sddm.nix index 59b0f37..d6a9378 100644 --- a/nixos/overlays/pkgs/lavanda-sddm.nix +++ b/nixos/overlays/pkgs/lavanda-sddm.nix @@ -1,8 +1,6 @@ ### test package -{ lib -, stdenv +{ stdenv , fetchFromGitHub -, pkgs }: stdenv.mkDerivation { diff --git a/nixos/overlays/pkgs/pam-fprint-grosshack.nix b/nixos/overlays/pkgs/pam-fprint-grosshack.nix index e256c4f..857d49fe 100644 --- a/nixos/overlays/pkgs/pam-fprint-grosshack.nix +++ b/nixos/overlays/pkgs/pam-fprint-grosshack.nix @@ -1,5 +1,4 @@ -{ lib -, stdenv +{ stdenv , meson , ninja , pkg-config @@ -36,7 +35,7 @@ stdenv.mkDerivation rec { pam libpam-wrapper ]; - + mesonFlags = [ "-Dpam_modules_dir=${placeholder "out"}/lib/security" "-Dsysconfdir=${placeholder "out"}/etc" diff --git a/nixos/overlays/swayosd.nix b/nixos/overlays/swayosd.nix index b6b3c5f..b978106 100644 --- a/nixos/overlays/swayosd.nix +++ b/nixos/overlays/swayosd.nix @@ -1,13 +1,13 @@ final: prev: { swayosd = prev.swayosd.overrideAttrs (oldAttrs: rec { - + src = prev.fetchFromGitHub { owner = "ErikReider"; repo = "SwayOSD"; rev = "8159c9e9962ce19f6fb78201d4d34e5817f53b45"; hash = "sha256-kGd4/eQkhvxEL3/LToBDjE/JIR8m6w9vdFUrRTyylCE="; }; - + cargoDeps = oldAttrs.cargoDeps.overrideAttrs (prev.lib.const { name = "swayosd-vendor.tar.gz"; inherit src;