diff --git a/GUIDE b/GUIDE deleted file mode 100644 index 90a70b8..0000000 --- a/GUIDE +++ /dev/null @@ -1,18 +0,0 @@ -### Migrate to a Newer Version of Nixpkgs -```bash -# Determine the channel name you're using -nix-channel --list -nix-channel --remove -nix-channel --add # ie https://nixos.org/channels/nixos-25.05 -nix-channel --update - -# Now upgrade system profile (log to file in case of failure) -nixos-rebuild boot --upgrade | tee rebuild.log -``` - -### Finding New Things to Do -`man 5 configuration.nix` is incredibly useful - similar info can be found at https://mynixos.com/options - -### For your curiosity -1. https://wiki.nixos.org/wiki/Firejail diff --git a/deploy b/deploy index a69a484..c1a88cb 100755 --- a/deploy +++ b/deploy @@ -20,18 +20,13 @@ collect_garbage () { rebuild_flake () { # make sure all changes are visible to nixos git add . --verbose - local FLAGS= if [ "$1" = "reinstall-bootloader" ]; then - FLAGS="$FLAGS --install-bootloader" - # sudo nixos-rebuild switch --flake . --install-bootloader + sudo nixos-rebuild switch --flake . --install-bootloader # STC_DISPLAY_ALL_UNITS=1 (verbose, show output of all units) + else + sudo nixos-rebuild switch --flake . + #nixos-rebuild build --flake .# --cores 8 -j 1 fi - - # LOG="$(mktemp /tmp/rebuild-XXXXXXXX)" - LOG="./rebuild.log" - echo "[*] Deployment stdout(&1) directed to $LOG" - sudo nixos-rebuild switch --flake . "$FLAGS" & > >(tee $LOG) - #nixos-rebuild build --flake .# --cores 8 -j 1 } deploy_hive () { diff --git a/flake.lock b/flake.lock index c06c8b0..9e28c75 100755 --- a/flake.lock +++ b/flake.lock @@ -19,6 +19,25 @@ "type": "github" } }, + "ags_2": { + "inputs": { + "nixpkgs": "nixpkgs_5", + "systems": "systems_3" + }, + "locked": { + "lastModified": 1728326430, + "narHash": "sha256-tV1ABHuA1HItMdCTuNdA8fMB+qw7LpjvI945VwMSABI=", + "owner": "Aylur", + "repo": "ags", + "rev": "60180a184cfb32b61a1d871c058b31a3b9b0743d", + "type": "github" + }, + "original": { + "owner": "Aylur", + "repo": "ags", + "type": "github" + } + }, "aquamarine": { "inputs": { "hyprutils": [ @@ -108,6 +127,20 @@ } }, "flake-compat_3": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -123,7 +156,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -304,6 +337,25 @@ "type": "github" } }, + "hyprpanel": { + "inputs": { + "ags": "ags_2", + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1731270736, + "narHash": "sha256-N0unlLf/7BqkrYx3BO9svv1+oLzKpArgiqLzkmNpD3Q=", + "owner": "Jas-SinghFSU", + "repo": "HyprPanel", + "rev": "a7855baf13c6abdd0b0e988e4390112cd7deda67", + "type": "github" + }, + "original": { + "owner": "Jas-SinghFSU", + "repo": "HyprPanel", + "type": "github" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -354,6 +406,22 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1711997201, + "narHash": "sha256-J71xzQlVYsjagA4AsVwRazhBh2rZrPpKvxTgs6UzL7c=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "b76fa31346db7fc958a9898f3c594696ca71c4fd", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "v0.4.1", + "repo": "nix-flatpak", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -375,6 +443,25 @@ "type": "github" } }, + "nixcord": { + "inputs": { + "flake-compat": "flake-compat_3", + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1730720546, + "narHash": "sha256-5147A6X0MH6u/YDxLe+Nnva3oxfLQanC716LarG/uoo=", + "owner": "kaylorben", + "repo": "nixcord", + "rev": "e3e27c77316f7526b1a846778ae9c759c9377611", + "type": "github" + }, + "original": { + "owner": "kaylorben", + "repo": "nixcord", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1725634671, @@ -457,21 +544,69 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1752620740, - "narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", - "owner": "nixos", + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-25.05", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_6": { + "locked": { + "lastModified": 1739866667, + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1730768919, + "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1739357830, + "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { "locked": { "lastModified": 1730200266, "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", @@ -517,14 +652,17 @@ "colmena": "colmena", "grub2-themes": "grub2-themes", "hyprland": "hyprland", - "nixpkgs": "nixpkgs_5", + "hyprpanel": "hyprpanel", + "nix-flatpak": "nix-flatpak", + "nixcord": "nixcord", + "nixpkgs": "nixpkgs_8", "spicetify-nix": "spicetify-nix", "swww": "swww" } }, "spicetify-nix": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "nixpkgs": [ "nixpkgs" ] @@ -561,8 +699,8 @@ }, "swww": { "inputs": { - "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_6", + "flake-compat": "flake-compat_5", + "nixpkgs": "nixpkgs_9", "utils": "utils" }, "locked": { @@ -610,6 +748,21 @@ } }, "systems_3": { + "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_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -626,7 +779,7 @@ }, "utils": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1726560853, diff --git a/flake.nix b/flake.nix index 3a8be4e..e31b8ac 100755 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,8 @@ description = "Emile's Nix Dotfiles"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + # nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; #home-manager = { # url = "github:nix-community/home-manager"; @@ -14,15 +15,26 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nixcord.url = "github:kaylorben/nixcord"; + grub2-themes.url = "github:vinceliuice/grub2-themes"; # is this necessary? (aren't I enabling it in `configuration.nix` anyways?) hyprland.url = "github:hyprwm/Hyprland"; + hyprpanel = { + url = "github:Jas-SinghFSU/HyprPanel"; + #inputs.nixpkgs.follows = "nixpkgs"; + }; + swww.url = "github:LGFae/swww"; + # TODO: declarative flatpak management + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; + ags.url = "github:Aylur/ags"; + # colmena.url = "github:zhaofengli/colmena"; colmena.url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a"; }; @@ -32,6 +44,8 @@ #home-manager, hyprland, grub2-themes, + nixcord, + hyprpanel, colmena, ... } @ inputs: let @@ -40,8 +54,11 @@ pkgs = import nixpkgs { inherit system; config = { - allowUnfree = false; # sanity check + allowUnfree = true; }; + overlays = [ + inputs.hyprpanel.overlay + ]; }; # TODO: come back to this its really cool @@ -59,7 +76,7 @@ # i be on my puter fr myputer = nixpkgs.lib.nixosSystem { # nix passes these to every single module - specialArgs = {inherit inputs;}; + specialArgs = {inherit inputs pkgs;}; modules = [ ./hosts/myputer @@ -69,7 +86,7 @@ # my laptop 0w0 lolcathost = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; + specialArgs = {inherit inputs pkgs;}; modules = [ ./hosts/lolcathost @@ -81,6 +98,7 @@ # remote deployment to my servers!! colmenaHive = colmena.lib.makeHive { meta = { + # set nixpkgs global nixpkgs = pkgs; # set nixpkgs per server nodeNixpkgs = { @@ -89,6 +107,9 @@ config.allowUnfree = false; }; }; + + # we can use `specialArgs.inputs` to inject wishlist into hyrule's module + #specialArgs.inputs = with inputs; {inherit wishlist;}; }; # meine vps diff --git a/homes/me/default.nix b/homes/me/default.nix index ce18969..5eb2d90 100755 --- a/homes/me/default.nix +++ b/homes/me/default.nix @@ -16,12 +16,13 @@ ../modules/bat.nix ../modules/fish.nix ../modules/editor/helix.nix - # ../modules/editor/vscodium.nix + ../modules/editor/vscodium.nix ../modules/btop.nix ../modules/term/ghostty.nix ../modules/term/rio.nix ../modules/firefox.nix + ../modules/nixcord.nix #../modules/hypr/hypridle.nix ../modules/hypr/hyprlock.nix diff --git a/hosts/lolcathost/default.nix b/hosts/lolcathost/default.nix index b5f3780..a9616a3 100755 --- a/hosts/lolcathost/default.nix +++ b/hosts/lolcathost/default.nix @@ -4,14 +4,14 @@ ... }: let home-manager = builtins.fetchTarball { - url = "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz"; - sha256 = "0z94i2ig7wcm63fp1wkpp6r4458g2bj3r7ijlfapxihqybpgvng5"; + url = "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; + sha256 = "0gjfa3bv0m0kymxqla9iih11gjb6czyj942v34pyc7xy4qsx898k"; }; in { imports = [ ./hardware-configuration.nix (import "${home-manager}/nixos") - # inputs.spicetify-nix.nixosModules.default + inputs.spicetify-nix.nixosModules.default ../modules/steam.nix ../modules/obsidian.nix @@ -21,32 +21,18 @@ in { ../modules/chameleonultragui.nix ]; - nixpkgs.config.allowUnfreePredicate = let - whitelist = map lib.getName [ - pkgs.jetbrains.rider - pkgs.obsidian - pkgs.gitkraken - pkgs.steam - pkgs.steamcmd - pkgs.steam-unwrapped - pkgs.spotify - pkgs.dwarf-fortress + programs.spicetify = let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; + in { + enable = true; + enabledExtensions = with spicePkgs.extensions; [ + adblock + hidePodcasts + shuffle # shuffle+ (special characters are sanitized out of extension names) ]; - in - pkg: builtins.elem (lib.getName pkg) whitelist; - - # programs.spicetify = let - # spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; - # in { - # enable = true; - # enabledExtensions = with spicePkgs.extensions; [ - # adblock - # hidePodcasts - # shuffle # shuffle+ (special characters are sanitized out of extension names) - # ]; - # #theme = spicePkgs.themes.catppuccin; - # #colorScheme = "mocha"; - # }; + #theme = spicePkgs.themes.catppuccin; + #colorScheme = "mocha"; + }; boot.loader = { efi = { @@ -173,6 +159,13 @@ in { nitch starfetch + hyprpanel + + # flatpak requires gnome-software + # for graphical applications + flatpak + gnome-software + colmena-latest jetbrains.rider @@ -213,6 +206,8 @@ in { #extraSpecialArgs = {inherit inputs pkgs;}; sharedModules = [ inputs.ags.homeManagerModules.default + inputs.nixcord.homeManagerModules.nixcord + #{nixpkgs.overlays = [inputs.hyprpanel.overlay];} ]; }; @@ -356,24 +351,20 @@ in { # ----- FONTS ----- fonts = { enableDefaultPackages = true; # no clue what this line does tbh - packages = with pkgs; - [ - #(nerdfonts.override { - # fonts = [ - # "Cousine" - # "Iosevka" - # "JetBrainsMono" - # ]; - # }) - # nerdfonts - geist-font # for my hyprlock theme + packages = with pkgs; [ + #(nerdfonts.override { + # fonts = [ + # "Cousine" + # "Iosevka" + # "JetBrainsMono" + # ]; + # }) + nerdfonts + geist-font # for my hyprlock theme - # texlive maintains a noto-emoji flake - texlivePackages.noto-emoji - ] - ++ builtins.filter lib.attrsets.isDerivation ( - builtins.attrValues pkgs.nerd-fonts - ); + # texlive maintains a noto-emoji flake + texlivePackages.noto-emoji + ]; # TODO: change my default fonts fontconfig = { diff --git a/hosts/myputer/default.nix b/hosts/myputer/default.nix index 1143a0d..337501f 100755 --- a/hosts/myputer/default.nix +++ b/hosts/myputer/default.nix @@ -7,7 +7,7 @@ }: let home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; - sha256 = "0z94i2ig7wcm63fp1wkpp6r4458g2bj3r7ijlfapxihqybpgvng5"; + sha256 = "1mwq9mzyw1al03z4q2ifbp6d0f0sx9f128xxazwrm62z0rcgv4na"; }; in { imports = [ @@ -153,6 +153,10 @@ in { nitch starfetch + # flatpak requires gnome-software + flatpak + gnome-software + colmena-latest gitkraken @@ -175,7 +179,9 @@ in { home-manager = { users.me = import ../../homes/me; sharedModules = [ + inputs.nixcord.homeManagerModules.nixcord inputs.ags.homeManagerModules.default + {nixpkgs.overlays = [inputs.hyprpanel.overlay];} ]; }; diff --git a/huhh.sh b/huhh.sh deleted file mode 100755 index 5dbcc81..0000000 --- a/huhh.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -EXPR_MSG="evaluating derivation" -PROP_MSG="of derivation" - -LOC=$1 -if [ -z $1 ]; then - exec {1}<>"$LOC" -fi - -ERROR_LINE=$(<$LOC grep -nF "error:" \ - | tail -n1 \ - | awk '{print substr($1,1,length($1)-1)}' ) -<$LOC sed -n "$ERROR_LINE,\$p" - -echo "[*] Reason:" -<$LOC grep "evaluating attribute '.*' of derivation" \ - | awk '{ print substr($NF, 2, length($NF)-2), substr($5, 2, length($5)-2)}'