Compare commits

..

2 commits

Author SHA1 Message Date
9f8a9da96c fixup! snowhawk: initrd on root 2024-10-18 12:49:51 -07:00
24bac65678 snowhawk: initrd on root 2024-10-18 12:49:51 -07:00
36 changed files with 380 additions and 1418 deletions

View file

@ -1,4 +1,4 @@
{ nixpkgs, nix-darwin, self, ... }@inputs: { nixpkgs, self, ... }@inputs:
let let
makePkgs = system: (import nixpkgs { makePkgs = system: (import nixpkgs {
@ -8,21 +8,6 @@ let
overlays = [ overlays = [
self.overlays.default self.overlays.default
inputs.niri.overlays.niri inputs.niri.overlays.niri
# inputs.lix-module.overlays.default
inputs.zdwl.overlays.default
(final: prev: {
tmux = prev.tmux.overrideAttrs (old: rec {
version = "3.5";
src = prev.fetchFromGitHub {
owner = "tmux";
repo = "tmux";
rev = version;
hash = "sha256-8CRZj7UyBhuB5QO27Y+tHG62S/eGxPOHWrwvh1aBqq0=";
};
});
})
]; ];
}); });
@ -48,6 +33,7 @@ rec {
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.niri.nixosModules.niri inputs.niri.nixosModules.niri
inputs.lix-module.nixosModules.default
{ {
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit inputs self pkgs; inherit inputs self pkgs;
@ -56,6 +42,12 @@ rec {
} }
]; ];
}); });
compileSystems =
systems:
lib.right
builtins.listToAttrs
(map toPartialNixosConfig)
systems;
toPartialHomeManagerConfig = toPartialHomeManagerConfig =
{ user, system ? "x86_64-linux", hostname ? "", configHostname ? "" }: { user, system ? "x86_64-linux", hostname ? "", configHostname ? "" }:
@ -75,35 +67,10 @@ rec {
./hosts/${configHost}/home.nix ./hosts/${configHost}/home.nix
]; ];
}); });
compileHomes =
toPartialDarwinConfig =
{ hostname, system ? "aarch64-darwin", }:
nameValuePair
hostname
(nix-darwin.lib.darwinSystem rec {
pkgs = makePkgs system;
specialArgs = { inherit inputs self; };
modules = [
inputs.home-manager.darwinModules.home-manager
./hosts/${hostname}/configuration.nix
{
home-manager.extraSpecialArgs = {
inherit inputs self pkgs;
lib = pkgs.lib.extend (_: _: inputs.home-manager.lib);
};
}
];
});
compileSystems =
toPartialConfiguration:
systems: systems:
lib.right lib.right
builtins.listToAttrs builtins.listToAttrs
(map toPartialConfiguration) (map toPartialHomeManagerConfig)
systems; systems;
compileNixosSystems = compileSystems toPartialNixosConfig;
compileDarwinSystems = compileSystems toPartialDarwinConfig;
compileHomes = compileSystems toPartialHomeManagerConfig;
} }

View file

@ -22,17 +22,18 @@
}, },
"chaotic": { "chaotic": {
"inputs": { "inputs": {
"fenix": "fenix",
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
"home-manager": "home-manager", "home-manager": "home-manager",
"jovian": "jovian", "jovian": "jovian",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1733677156, "lastModified": 1728835058,
"narHash": "sha256-TSgU+M0Zm0PMnb6J/gOovC63wtqSbhgdmN7CucDO0oU=", "narHash": "sha256-GbcJ90E8+wBkBh9C1HxBTwKsOkGU41CRaPrd1ksFPtA=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "354bcbbadbd00f5bda884bb2c119b7de63b197e9", "rev": "ec6b449d3d096a0e79db5f8c4a321ea9ec836e40",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -45,11 +46,11 @@
"dunst-theme": { "dunst-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1732015406, "lastModified": 1715462588,
"narHash": "sha256-3KAx56IGhab9fZi+WVwCpar1HkR37WV/cE10aSSLGDc=", "narHash": "sha256-XoE+5kMVSjqGmpU71zsfcnZuwM9q1dXTUs//Y9nC7HQ=",
"owner": "d2718nis", "owner": "d2718nis",
"repo": "rose-pine-dunst", "repo": "rose-pine-dunst",
"rev": "449e806b7e9e266cf4bf722007ac01b60ffcec01", "rev": "496499eaed38a07ce4f79ec91baaf6e1e4c28bc5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -58,14 +59,36 @@
"type": "github" "type": "github"
} }
}, },
"fenix": {
"inputs": {
"nixpkgs": [
"chaotic",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1728455642,
"narHash": "sha256-abYGwrL6ak5sBRqwPh+V3CPJ6Pa89p378t51b7BO1lE=",
"owner": "nix-community",
"repo": "fenix",
"rev": "3b47535a5c782e4f4ad59cd4bdb23636b6926e03",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"fish_theme": { "fish_theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1732816380, "lastModified": 1702794161,
"narHash": "sha256-MeLe3T8eWd0xqq/exwz1vq7Fo+Sx4NZqyOoERNiwIos=", "narHash": "sha256-uGtLlPvjLfrngdByjCYp9mUuZasg3Z6mGfkD1mdRs1o=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "bdb3fad8d279cd39a0b74e935e84fb641a0ea05a", "rev": "75549ce64044336ed14e502f1c1ab8bf98184990",
"revCount": 29, "revCount": 24,
"type": "git", "type": "git",
"url": "https://git.zynh.me/Zynh0722/omf-theme" "url": "https://git.zynh.me/Zynh0722/omf-theme"
}, },
@ -77,11 +100,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1696426674,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -114,11 +137,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733312601, "lastModified": 1727826117,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -136,11 +159,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733312601, "lastModified": 1712014858,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -153,29 +176,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1733312601, "lastModified": 1727826117,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -245,11 +250,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733665616, "lastModified": 1728778939,
"narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "rev": "ff68f91754be6f3427e4986d7949e6273659be1d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,11 +294,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733333617, "lastModified": 1724947644,
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "hercules-ci-effects", "repo": "hercules-ci-effects",
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -310,11 +315,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733484277, "lastModified": 1728337164,
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "rev": "038630363e7de57c36c417fd2f5d7c14773403e4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -330,11 +335,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733484277, "lastModified": 1728791962,
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "narHash": "sha256-nr5QiXwQcZmf6/auC1UpX8iAtINMtdi2mH+OkqJQVmU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "rev": "64c6325b28ebd708653dd41d88f306023f296184",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -352,11 +357,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733491721, "lastModified": 1728410210,
"narHash": "sha256-n4fTKTYXeGRngeanNDxSxbuWSRCQ6l74IwOBlqp8dcw=", "narHash": "sha256-vn6qupt1U0M6Hf3eXhK3/K4Du0Z7A60qYS1G14QsRY8=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "0f415721ee427270bc078ef3a5ba2a308d47461f", "rev": "a25f915ec05196d15e3f7f8555ffb612d4f1045d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -393,7 +398,7 @@
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=", "narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140", "rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz" "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -412,11 +417,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733703025, "lastModified": 1728833145,
"narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=", "narHash": "sha256-iODar05AGyn4t2N6F+LwSKCOaZDr8DMCu8AtsUvPGWw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a", "rev": "cff5aaed65d27c2802eb93e7cb854a7fe70f0a42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -428,11 +433,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1733660965, "lastModified": 1728788548,
"narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=", "narHash": "sha256-UX/29CeEcbY1FsdzI4vAs23uP/iNAwRPjHtN3U0Llzs=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4", "rev": "fb74fd2954ee4eeee566bb2fcfd480a4281f1e4a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -443,6 +448,7 @@
}, },
"niri": { "niri": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3",
"niri-stable": "niri-stable", "niri-stable": "niri-stable",
"niri-unstable": "niri-unstable", "niri-unstable": "niri-unstable",
"nixpkgs": [ "nixpkgs": [
@ -453,11 +459,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1733707204, "lastModified": 1728829629,
"narHash": "sha256-s9LQ/6ZTupaXZSs79k8NM5TAl7UKx+me0VCngGY+eIA=", "narHash": "sha256-y3fWim/0mDCSLjvqkmylN5mmVOfvwJG9Mt+Z8qIn44U=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "269566b355c4fd98f730483035fc5fe077b91251", "rev": "0a50b261ac5b6cdcc8eb7921a4f022c92b29d1ab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -469,16 +475,16 @@
"niri-stable": { "niri-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1731483594, "lastModified": 1726304152,
"narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=", "narHash": "sha256-4YDrKMwXGVOBkeaISbxqf24rLuHvO98TnqxWYfgiSeg=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "75c79116a7e40cbc0e110ce0cdd500e896458679", "rev": "6a48728ffb1e638839b07f9ab2f06b2adb41dc61",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "YaLTeR", "owner": "YaLTeR",
"ref": "v0.1.10.1", "ref": "v0.1.9",
"repo": "niri", "repo": "niri",
"type": "github" "type": "github"
} }
@ -486,11 +492,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1733639139, "lastModified": 1728822376,
"narHash": "sha256-oQ7YwoK/Hhpal6URjypm+BEB3n2S8GAJQVG8sVLC0/I=", "narHash": "sha256-HQc10OfFNie5YocsrJQCN6BOi+CZ0uuGGHGbJFXjgUI=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "9824321fc9499b9987f344308a5c5c69cb9b7a77", "rev": "d7156df8428cb9e6665a212e66c74bdb25842be8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -499,46 +505,6 @@
"type": "github" "type": "github"
} }
}, },
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1733570843,
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
},
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_2",
"umu": "umu"
},
"locked": {
"lastModified": 1733795424,
"narHash": "sha256-1jtgOKNK/lpj3xlc+ZTlIhks3DhSs7UshGjCZg7kgzY=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "8563347a85fd3735dec7b22e172c0c5d6f756ea0",
"type": "github"
},
"original": {
"owner": "fufexan",
"repo": "nix-gaming",
"type": "github"
}
},
"nix-github-actions": { "nix-github-actions": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -548,11 +514,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729697500, "lastModified": 1690328911,
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
"owner": "zhaofengli", "owner": "zhaofengli",
"repo": "nix-github-actions", "repo": "nix-github-actions",
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", "rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -564,11 +530,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1733581040, "lastModified": 1728492678,
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -580,35 +546,23 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1733096140, "lastModified": 1727825735,
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1733096140,
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1733384649, "lastModified": 1728740863,
"narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", "narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", "rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -618,29 +572,29 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1733376361, "lastModified": 1728156290,
"narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", "narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", "rev": "17ae88b569bb15590549ff478bab6494dde4a907",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "release-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1733581040, "lastModified": 1728492678,
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -675,28 +629,41 @@
"lix-module": "lix-module", "lix-module": "lix-module",
"neovim-overlay": "neovim-overlay", "neovim-overlay": "neovim-overlay",
"niri": "niri", "niri": "niri",
"nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_2",
"nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_3",
"repo-clone": "repo-clone", "repo-clone": "repo-clone",
"sops-nix": "sops-nix", "sops-nix": "sops-nix"
"umu": "umu_2", }
"zdwl": "zdwl", },
"zdwm": "zdwm" "rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1728386838,
"narHash": "sha256-Lk64EoJkvp3WMGVJK3CR1TYcNghX0/BqHPLW5zdvmLE=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "efaf8bd5de34e2f47bd57425b83e0c7974902176",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
} }
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1733128155, "lastModified": 1728345710,
"narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=", "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=",
"owner": "mic92", "owner": "mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856", "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -720,68 +687,19 @@
"type": "github" "type": "github"
} }
}, },
"umu": {
"inputs": {
"nixpkgs": [
"nix-gaming",
"nixpkgs"
]
},
"locked": {
"dir": "packaging/nix",
"lastModified": 1733509971,
"narHash": "sha256-LZIrb7HNWyLMU+dSI4fhbo2dMzJbbKKFWwYOpJwVXKE=",
"ref": "refs/heads/main",
"rev": "562e3900eebde0fb276dd2f425c097c8b44ccb92",
"revCount": 865,
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
},
"original": {
"dir": "packaging/nix",
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
}
},
"umu_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"dir": "packaging/nix",
"lastModified": 1733681789,
"narHash": "sha256-cwTTwiYkUdFpJFpFlnalteT0bn7s7bC3ngj2tdKWhZk=",
"ref": "refs/heads/main",
"rev": "b0c0d44e0e533b42790360d30430a69b330849d6",
"revCount": 867,
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
},
"original": {
"dir": "packaging/nix",
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
}
},
"xwayland-satellite-stable": { "xwayland-satellite-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1730166465, "lastModified": 1718165778,
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=", "narHash": "sha256-dwF9nI54a6Fo9XU5s4qmvMXSgCid3YQVGxch00qEMvI=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98", "rev": "b6d281967cb0b7bf1dfdb8d0f597b517dc4aa5c5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "Supreeeme", "owner": "Supreeeme",
"ref": "v0.5", "ref": "v0.4",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"type": "github" "type": "github"
} }
@ -789,11 +707,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1732233710, "lastModified": 1726378112,
"narHash": "sha256-gWf9dX6DVx0ssK2G3yrFG9yMT9UU0mDwyD51z/Q6FTA=", "narHash": "sha256-OANPb73V/RQDqtpIcbzeJ93KuOHKFQv+1xXC44Ut7tY=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "02f30546264ff8407cbb39528b3a3cc3045e53c1", "rev": "b962a0f33b503aa39c9cf6919f488b664e5b79b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -801,45 +719,6 @@
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"type": "github" "type": "github"
} }
},
"zdwl": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1734097112,
"narHash": "sha256-orgIP31BsPt/sefmoOA8UDs91WPgYWtgxm0RpO8uVKw=",
"ref": "0.7",
"rev": "389d476f5b6c544874e6d01cd23d7c1ad213f1c9",
"revCount": 1259,
"type": "git",
"url": "https://git.zynh.me/Zynh0722/dwl"
},
"original": {
"ref": "0.7",
"type": "git",
"url": "https://git.zynh.me/Zynh0722/dwl"
}
},
"zdwm": {
"flake": false,
"locked": {
"lastModified": 1733723532,
"narHash": "sha256-3BGFjI4hn2O9DKVN5IDznGNxuZ/kZQ4/A7o0LyDOw20=",
"ref": "preanybar-systray",
"rev": "f64f6f401571296da949e1fae4fbadec72582144",
"revCount": 1732,
"type": "git",
"url": "https://git.zynh.me/Zynh0722/dwm"
},
"original": {
"ref": "preanybar-systray",
"type": "git",
"url": "https://git.zynh.me/Zynh0722/dwm"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -10,16 +10,10 @@
sops-nix = { url = "github:mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
dunst-theme = { url = "github:d2718nis/rose-pine-dunst"; flake = false; }; dunst-theme = { url = "github:d2718nis/rose-pine-dunst"; flake = false; };
niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; };
nix-gaming.url = "github:fufexan/nix-gaming";
nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; };
repo-clone.url = "git+https://git.zynh.me/Zynh0722/repo-clone"; repo-clone.url = "git+https://git.zynh.me/Zynh0722/repo-clone";
zdwm = { url = "git+https://git.zynh.me/Zynh0722/dwm?ref=preanybar-systray"; flake = false; };
zdwl = { url = "git+https://git.zynh.me/Zynh0722/dwl?ref=0.7"; inputs.nixpkgs.follows = "nixpkgs"; };
fish_theme = { url = "git+https://git.zynh.me/Zynh0722/omf-theme"; flake = false; }; fish_theme = { url = "git+https://git.zynh.me/Zynh0722/omf-theme"; flake = false; };
backgrounds = { url = "git+https://git.zynh.me/Zynh0722/backgrounds"; inputs.nixpkgs.follows = "nixpkgs"; }; backgrounds = { url = "git+https://git.zynh.me/Zynh0722/backgrounds"; inputs.nixpkgs.follows = "nixpkgs"; };
umu = { url = "git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging\/nix&submodules=1"; inputs.nixpkgs.follows = "nixpkgs"; };
}; };
outputs = outputs =
@ -28,18 +22,18 @@
builders = import ./builders.nix inputs; builders = import ./builders.nix inputs;
in in
{ {
nixosConfigurations = builders.compileNixosSystems [ nixosConfigurations = builders.compileSystems [
{ hostname = "snowhawk"; } { hostname = "snowhawk"; }
]; ];
darwinConfigurations = builders.compileDarwinSystems [
{ hostname = "lynx"; }
];
homeConfigurations = builders.compileHomes [ homeConfigurations = builders.compileHomes [
{ user = "zynh"; hostname = "msiserver"; } { user = "zynh"; hostname = "msiserver"; }
{ user = "val"; hostname = "caveserver"; } { user = "val"; hostname = "caveserver"; }
{ user = "ravenshade"; hostname = "virtmsi"; } {
user = "zynh";
hostname = "little-lightning";
system = "aarch64-darwin";
}
]; ];
overlays.default = import ./pkgs; overlays.default = import ./pkgs;

View file

@ -0,0 +1,92 @@
From 8f905b563e9dbc2d7b5f4e7c27a2614211c8953a Mon Sep 17 00:00:00 2001
From: Zynh Ludwig <zynh0722@gmail.com>
Date: Wed, 9 Oct 2024 20:12:27 -0700
Subject: [PATCH] dwm config
---
config.def.h | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/config.def.h b/config.def.h
index fed4fb9..072f6bc 100644
--- a/config.def.h
+++ b/config.def.h
@@ -1,7 +1,7 @@
/* See LICENSE file for copyright and license details. */
/* appearance */
-static const unsigned int borderpx = 1; /* border pixel of windows */
+static const unsigned int borderpx = 0; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */
static const unsigned int systraypinning = 0; /* 0: sloppy systray follows selected monitor, >0: pin systray to monitor X */
static const unsigned int systrayonleft = 0; /* 0: systray in the right corner, >0: systray on left of status text */
@@ -10,17 +10,18 @@ static const int systraypinningfailfirst = 1; /* 1: if pinning fails, display
static const int showsystray = 1; /* 0 means no systray */
static const int showbar = 1; /* 0 means no bar */
static const int topbar = 1; /* 0 means bottom bar */
-static const char *fonts[] = { "monospace:size=10" };
-static const char dmenufont[] = "monospace:size=10";
-static const char col_gray1[] = "#222222";
-static const char col_gray2[] = "#444444";
-static const char col_gray3[] = "#bbbbbb";
-static const char col_gray4[] = "#eeeeee";
-static const char col_cyan[] = "#005577";
+static const char *fonts[] = { "JetBrainsMono Nerd Font:size=10" };
+static const char dmenufont[] = "JetBrainsMono Nerd Font:size=10";
+static const char col_text[] = "#e0def4";
+static const char col_subtle[] = "#908caa";
+static const char col_muted[] = "#6e6a86";
+static const char col_base[] = "#191724";
+static const char col_iris[] = "#c4a7e7";
+static const char col_h_low[] = "#21202e";
static const char *colors[][3] = {
/* fg bg border */
- [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
- [SchemeSel] = { col_gray4, col_cyan, col_cyan },
+ [SchemeNorm] = { col_muted, col_h_low, col_base },
+ [SchemeSel] = { col_text, col_base, col_iris },
};
/* tagging */
@@ -33,7 +34,10 @@ static const Rule rules[] = {
*/
/* class instance title tags mask isfloating monitor */
{ "Gimp", NULL, NULL, 0, 1, -1 },
- { "Firefox", NULL, NULL, 1 << 8, 0, -1 },
+ { "discord", NULL, NULL, 1 << 1, 0, 1 },
+ { "calendar", NULL, NULL, 1 << 4, 0, 1 },
+ { "vesktop", NULL, NULL, 1 << 1, 0, 1 },
+ { "nannou", NULL, NULL, 0, 1, -1 },
};
/* layout(s) */
@@ -50,7 +54,7 @@ static const Layout layouts[] = {
};
/* key definitions */
-#define MODKEY Mod1Mask
+#define MODKEY Mod4Mask
#define TAGKEYS(KEY,TAG) \
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
@@ -62,13 +66,15 @@ static const Layout layouts[] = {
/* commands */
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
-static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
-static const char *termcmd[] = { "st", NULL };
+static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_h_low, "-nf", col_muted, "-sb", col_base, "-sf", col_text, NULL };
+static const char *termcmd[] = { "alacritty", NULL };
+static const char *scrnshotcmd[] = { "flameshot", "gui", NULL };
static const Key keys[] = {
/* modifier key function argument */
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
+ { ControlMask, XK_Print, spawn, {.v = scrnshotcmd } },
{ MODKEY, XK_b, togglebar, {0} },
{ MODKEY, XK_j, focusstack, {.i = +1 } },
{ MODKEY, XK_k, focusstack, {.i = -1 } },
--
2.46.0

View file

@ -1,53 +0,0 @@
## name: Rosé Pine
## author: mvllow
## license: MIT
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
foreground #d8d8d8
# background #050505
selection_foreground #e0def4
selection_background #403d52
cursor #524f67
cursor_text_color #e0def4
url_color #c4a7e7
active_tab_foreground #e0def4
active_tab_background #26233a
inactive_tab_foreground #6e6a86
inactive_tab_background #191724
# black
color0 #181818
color8 #6b6b6b
# red
color1 #ac4242
color9 #c55555
# green
color2 #90a959
color10 #aac474
# yellow
color3 #f4bf75
color11 #fcea88
# blue
color4 #6a9fb5
color12 #82b8c8
# magenta
color5 #aa759f
color13 #c28cb8
# cyan
color6 #75b5aa
color14 #93d3c3
# white
color7 #d8d8d8
color15 #f8f8f8

View file

@ -1,54 +0,0 @@
## name: Rosé Pine
## author: mvllow
## license: MIT
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
foreground #e0def4
background #191724
selection_foreground #e0def4
selection_background #403d52
cursor #524f67
cursor_text_color #e0def4
url_color #c4a7e7
active_tab_foreground #e0def4
active_tab_background #26233a
inactive_tab_foreground #6e6a86
inactive_tab_background #191724
# black
color0 #26233a
color8 #6e6a86
# red
color1 #eb6f92
color9 #eb6f92
# green
color2 #31748f
color10 #31748f
# yellow
color3 #f6c177
color11 #f6c177
# blue
color4 #9ccfd8
color12 #9ccfd8
# magenta
color5 #c4a7e7
color13 #c4a7e7
# cyan
color6 #ebbcba
color14 #ebbcba
# white
color7 #e0def4
color15 #e0def4

View file

@ -9,18 +9,6 @@ in {
xdg.mimeApps = xdg.mimeApps =
let let
browser = "firefox.desktop"; browser = "firefox.desktop";
browserApps = [
"application/pdf"
"application/x-extension-htm"
"application/x-extension-html"
"application/x-extension-shtml"
"application/x-extension-xht"
"application/x-extension-xhtml"
"application/xhtml+xml"
"text/html"
"x-scheme-handler/http"
"x-scheme-handler/https"
];
mimeAppsFor = mimeAppsFor =
value: list: value: list:
@ -30,15 +18,24 @@ in {
{ {
enable = true; enable = true;
defaultApplications = lib.mkMerge [ defaultApplications = lib.mkMerge [
(mimeAppsFor browser browserApps) (mimeAppsFor browser [
"application/pdf"
"application/x-extension-htm"
"application/x-extension-html"
"application/x-extension-shtml"
"application/x-extension-xht"
"application/x-extension-xhtml"
"application/xhtml+xml"
"text/html"
"x-scheme-handler/about"
"x-scheme-handler/http"
"x-scheme-handler/https"
])
(mimeAppsFor "brave-browser.desktop" [ (mimeAppsFor "brave-browser.desktop" [
"x-scheme-handler/chrome" "x-scheme-handler/chrome"
]) ])
]; ];
associations.added = lib.mkMerge [
(mimeAppsFor browser browserApps)
];
}; };
home.sessionVariables = { home.sessionVariables = {

View file

@ -1,50 +0,0 @@
{ lib, config, pkgs, ... }:
let
cfg = config.snowhawk.firefox;
in
{
options.snowhawk.firefox = {
enable = lib.mkEnableOption "firefox home-manager module";
};
config = lib.mkIf cfg.enable {
programs.firefox = {
enable = true;
package = pkgs.firefox;
profiles.default = {
isDefault = true;
path = "x56262ch.default";
userChrome = /* css */ ''
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
opacity: 0;
pointer-events: none;
}
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
visibility: collapse !important;
}
#titlebar {display: none !important;}
#main-window {-moz-appearance:none !important;}
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
display: none;
}
'';
};
profiles.alt = {
id = 1;
path = "05fb1no8.casualypurple";
userChrome = config.programs.firefox.profiles.default.userChrome;
};
};
home.packages = with pkgs; [
(writeShellScriptBin "alt-firefox" ''
${lib.getExe config.programs.firefox.package} -P "alt"
'')
];
};
}

View file

@ -22,7 +22,7 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# home.packages = with pkgs; [ flameshot ]; home.packages = with pkgs; [ flameshot ];
xdg.configFile."flameshot/flameshot.ini".text = lib.generators.toINI { } cfg.config; xdg.configFile."flameshot/flameshot.ini".text = lib.generators.toINI { } cfg.config;
}; };

View file

@ -1,51 +0,0 @@
{ lib, config, pkgs, ... }:
let
cfg = config.snowhawk.kitty;
macos = config.snowhawk.macos.enable;
in
{
options.snowhawk.kitty = {
enable = lib.mkEnableOption "kitty home-manager module";
};
config = lib.mkIf cfg.enable {
programs.kitty = {
enable = true;
shellIntegration.enableFishIntegration = true;
settings =
let
macos_fonts = {
font_family = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Light\"";
bold_font = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Regular\"";
italic_font = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Light Italic\"";
bold_italic_font = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Regular Italic\"";
};
linux_fonts = {
font_family = "family=\"JetBrainsMono Nerd Font\" style=\"ExtraLight\"";
bold_font = "family=\"JetBrainsMono Nerd Font\" style=\"Light\"";
italic_font = "family=\"JetBrainsMono Nerd Font\" style=\"ExtraLight Italic\"";
bold_italic_font = "family=\"JetBrainsMono Nerd Font\" style=\"Light Italic\"";
};
in
{
background = "#050505";
background_opacity = 0.98;
font_size = 12;
# allow_remote_control = "yes";
} // (if !macos then linux_fonts else macos_fonts);
extraConfig =
let
kitten = "${pkgs.kitty}/bin/kitten";
in
''
include ${../../home/kitty/alacritty-colors.conf}
# map ctrl+k ${pkgs.writeShellScript "kitten-snap" "${kitten} @ get-text --self --ansi > /tmp/test"}
'';
};
};
}

View file

@ -1,19 +0,0 @@
{ lib, config, pkgs, inputs, ... }:
let
cfg = config.snowhawk.lutris;
in
{
options.snowhawk.lutris = {
enable = lib.mkEnableOption "lutris";
};
config = lib.mkIf cfg.enable {
home.packages = [
(inputs.umu.packages.${pkgs.system}.umu.override
{ version = "${inputs.umu.shortRev}"; })
pkgs.lutris
];
};
}

View file

@ -20,7 +20,7 @@ in
config = config =
let let
nvim-treesitter = pkgs.vimPlugins.nvim-treesitter; nvim-treesitter = pkgs.vimPlugins.nvim-treesitter;
treesitterWithGrammars = nvim-treesitter.withAllGrammars; treesitterWithGrammars = nvim-treesitter.withPlugins (_: nvim-treesitter.allGrammars);
treesitter-parsers = pkgs.symlinkJoin { treesitter-parsers = pkgs.symlinkJoin {
name = "treesitter-parsers"; name = "treesitter-parsers";
@ -56,18 +56,11 @@ in
]; ];
extraPackages = with pkgs; [ extraPackages = with pkgs; [
marksman
nil nil
nixpkgs-fmt nixpkgs-fmt
rustup rustup
lua-language-server lua-language-server
fzf fzf
stylua
taplo
gnumake
zig
clang-tools
coreutils
]; ];
}; };
}; };

View file

@ -44,28 +44,6 @@ let
.output() .output()
.expect("Unable to play audio via mpv"); .expect("Unable to play audio via mpv");
} }
let xrootdatetime_pid_raw =
Command::new("systemctl")
.args([
"--user",
"show",
"--property", "MainPID",
"--value", "xrootdatetime"
])
.output();
if let Ok(xrootdatetime_pid_raw) = xrootdatetime_pid_raw {
if let Ok(xrootdatetime_pid) = str::from_utf8(&xrootdatetime_pid_raw.stdout[..]) {
let _ = Command::new("kill")
.args([
"-s",
"SIGUSR1",
xrootdatetime_pid
])
.spawn();
}
}
} }
''; '';
in in

View file

@ -14,5 +14,12 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
systemd.user.startServices = "sd-switch"; systemd.user.startServices = "sd-switch";
repo-clone = {
enable = true;
repos = {
"${config.home.homeDirectory}/Pictures/backgrounds".url = lib.zgitRepo "backgrounds";
};
};
}; };
} }

View file

@ -29,13 +29,8 @@ in
port = 2221; port = 2221;
identityFile = keyPathIfSops "personal_git"; identityFile = keyPathIfSops "personal_git";
}; };
"github.com" = {
hostname = "github.com";
user = "git";
identityFile = keyPathIfSops "github";
};
snowhawk = { snowhawk = {
hostname = "192.168.0.22"; hostname = "192.168.0.21";
user = "ravenshade"; user = "ravenshade";
proxyJump = "zynh@msiserver"; proxyJump = "zynh@msiserver";
identityFile = keyPathIfSops "snowhawk"; identityFile = keyPathIfSops "snowhawk";
@ -61,7 +56,6 @@ in
"private_keys/caveserver" = { }; "private_keys/caveserver" = { };
"private_keys/snowhawk" = { }; "private_keys/snowhawk" = { };
"private_keys/personal_git" = { }; "private_keys/personal_git" = { };
"private_keys/github" = { };
"ssh_hosts/caveserver".path = "${sshDir}/conf.d/caveserver_config"; "ssh_hosts/caveserver".path = "${sshDir}/conf.d/caveserver_config";
}; };

View file

@ -15,8 +15,6 @@ in
programs.tmux = { programs.tmux = {
enable = true; enable = true;
shell = getExe (if macos then pkgs.zsh else pkgs.fish); shell = getExe (if macos then pkgs.zsh else pkgs.fish);
# shell = if macos then "/bin/zsh" else (getExe pkgs.fish);
# shell = getExe pkgs.fish;
mouse = true; mouse = true;
baseIndex = 1; baseIndex = 1;
terminal = "screen-256color"; terminal = "screen-256color";

View file

@ -1,33 +0,0 @@
{ lib, config, pkgs, ... }:
let
cfg = config.snowhawk.wezterm;
macos = config.snowhawk.macos.enable;
in
{
options.snowhawk.wezterm = {
enable = lib.mkEnableOption "kitty home-manager module";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
wezterm
fd
];
programs.wezterm = {
enable = true;
extraConfig = /* lua */''
return require 'modules'
'';
};
xdg.configFile = {
wezterm = {
source = ../../home/wezterm;
recursive = true;
executable = true;
};
};
};
}

View file

@ -1,50 +0,0 @@
local wezterm = require("wezterm")
-- This is the M table that we will export
local M = {}
-- define a function in the M table.
-- Only functions defined in `M` will be exported to
-- code that imports this M.
-- The suggested convention for making Ms that update
-- the config is for them to export an `apply_to_config`
-- function that accepts the config object, like this:
function M.apply_to_config(config)
config.colors = {
foreground = "#d8d8d8",
background = "#050505",
selection_fg = "#e0def4",
selection_bg = "#403d52",
cursor_bg = "#524f67",
cursor_fg = "#e0def4",
cursor_border = "#524f67",
ansi = {
"#181818",
"#ac4242",
"#90a959",
"#f4bf75",
"#6a8fb5",
"#aa759f",
"#75b5aa",
"#d8d8d8",
},
brights = {
"#6b6b6b",
"#c55555",
"#aac474",
"#fcea88",
"#82b8c8",
"#c28cb8",
"#93d3c3",
"#f8f8f8",
},
}
end
-- return our M table
return M

View file

@ -1,49 +0,0 @@
local wezterm = require("wezterm")
local config = wezterm.config_builder()
local colors = require("modules/colors")
colors.apply_to_config(config)
config.unix_domains = { { name = "unix" } }
config.default_gui_startup_args = { "connect", "unix" }
config.font = wezterm.font("JetBrainsMono Nerd Font")
config.use_fancy_tab_bar = false
config.tab_bar_at_bottom = true
-- https://github.com/wez/wezterm/issues/5990
config.front_end = "WebGpu"
local act = wezterm.action
local sessionizer = require("modules/sessionizer")
local navigator = require("modules/navigator")
-- timeout_milliseconds defaults to 1000 and can be omitted
config.leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 }
config.keys = {
{ key = "b", mods = "LEADER|CTRL", action = act.ActivateLastTab },
{ key = "p", mods = "LEADER", action = act.ActivateTabRelative(-1) },
{ key = "p", mods = "LEADER|CTRL", action = act.ActivateTabRelative(-1) },
{ key = "n", mods = "LEADER", action = act.ActivateTabRelative(1) },
{ key = "n", mods = "LEADER|CTRL", action = act.ActivateTabRelative(1) },
{ key = "s", mods = "LEADER", action = act.ShowLauncherArgs({ flags = "WORKSPACES" }) },
{ key = "\\", mods = "LEADER", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
{ key = "-", mods = "LEADER", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
{ key = "c", mods = "LEADER", action = act.SpawnTab("CurrentPaneDomain") },
{ key = "a", mods = "LEADER", action = act.AttachDomain("unix") },
{ key = "d", mods = "LEADER|CTRL", action = act.DetachDomain("CurrentPaneDomain") },
-- Integration with neovim panes
-- { key = "h", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-left") },
-- { key = "j", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-down") },
-- { key = "k", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-up") },
-- { key = "l", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-right") },
{ key = "f", mods = "LEADER", action = wezterm.action_callback(sessionizer.toggle) },
}
return config

View file

@ -1,53 +0,0 @@
local wezterm = require("wezterm")
local M = {}
-- https://github.com/lrvdijk/dotfiles/blob/master/wezterm/wezterm.lua
-- Integration with neovim panes
function M.isViProcess(pane)
-- get_foreground_process_name On Linux, macOS and Windows,
-- the process can be queried to determine this path. Other operating systems
-- (notably, FreeBSD and other unix systems) are not currently supported
-- return pane:get_foreground_process_name():find('n?vim') ~= nil
-- Use get_title as it works for multiplexed sessions too
return pane:get_title():find("n?vim") ~= nil
end
function M.conditionalActivatePane(window, pane, pane_direction, vim_direction)
local vim_pane_changed = false
if M.isViProcess(pane) then
local before = pane:get_cursor_position()
window:perform_action(
-- This should match the keybinds you set in Neovim.
wezterm.action.SendKey({ key = vim_direction, mods = "CTRL" }),
pane
)
wezterm.sleep_ms(50)
local after = pane:get_cursor_position()
if before.x ~= after.x and before.y ~= after.y then
vim_pane_changed = true
end
end
if not vim_pane_changed then
window:perform_action(wezterm.action.ActivatePaneDirection(pane_direction), pane)
end
end
function M.apply_to_config(config)
wezterm.on("ActivatePaneDirection-right", function(window, pane)
M.conditionalActivatePane(window, pane, "Right", "l")
end)
wezterm.on("ActivatePaneDirection-left", function(window, pane)
M.conditionalActivatePane(window, pane, "Left", "h")
end)
wezterm.on("ActivatePaneDirection-up", function(window, pane)
M.conditionalActivatePane(window, pane, "Up", "k")
end)
wezterm.on("ActivatePaneDirection-down", function(window, pane)
M.conditionalActivatePane(window, pane, "Down", "j")
end)
end
return M

View file

@ -1,52 +0,0 @@
local wezterm = require("wezterm")
local act = wezterm.action
local M = {}
local fd = "/home/ravenshade/.nix-profile/bin/fd"
M.toggle = function(window, pane)
local projects = {}
local success, stdout, stderr = wezterm.run_child_process({
fd,
"-HI",
"^.git$",
"--max-depth=4",
"--prune",
os.getenv("HOME") .. "/projects",
os.getenv("HOME") .. "/.config",
os.getenv("HOME") .. "/src",
})
if not success then
wezterm.log_error("Failed to run fd: " .. stderr)
return
end
for line in stdout:gmatch("([^\n]*)\n?") do
local project = line:gsub("/.git.*$", "")
local label = project
local id = project:gsub(".*/", "")
table.insert(projects, { label = tostring(label), id = tostring(id) })
end
window:perform_action(
act.InputSelector({
action = wezterm.action_callback(function(win, _, id, label)
if not id and not label then
wezterm.log_info("Cancelled")
else
wezterm.log_info("Selected " .. label)
win:perform_action(act.SwitchToWorkspace({ name = id, spawn = { cwd = label } }), pane)
end
end),
fuzzy = true,
title = "Select project",
choices = projects,
}),
pane
)
end
return M

View file

@ -0,0 +1,54 @@
{ pkgs, lib, ... }:
{
imports = [
../../home/modules
];
nix = {
package = pkgs.nix;
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
};
};
snowhawk = {
alacritty.enable = true;
macos.enable = true;
sources.enable = true;
projects.enable = true;
ssh = {
enable = true;
homeNetwork = true;
};
neovim.enable = true;
sops.enable = true;
};
programs.alacritty.settings = {
font.size = lib.mkForce 16.0;
window.opacity = lib.mkForce 0.94;
colors.primary.background = lib.mkForce "#171717";
};
home.username = "zynh";
home.homeDirectory = "/Users/zynh";
home.packages = with pkgs; [
nix-output-monitor
(writeShellScriptBin "rebuild" ''
home-manager switch --flake ~/nixos#zynh@little-lightning |& nom
'')
wakeonlan
go
rustup
fzf
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "23.11";
}

View file

@ -1,195 +0,0 @@
{ pkgs, lib, self, ... }: {
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = [ ];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.optimise.automatic = true;
environment.shells = with pkgs; [ bashInteractive zsh fish ];
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;
# Enable alternative shell support in nix-darwin.
# programs.fish.enable = true;
services.yabai =
let
gap = 10;
gapListParts = builtins.map
(x: lib.attrsets.nameValuePair (x + "_padding") gap)
[ "top" "bottom" "left" "right" ];
gapSettings = (builtins.listToAttrs gapListParts) // { window_gap = gap; };
in
{
enable = true;
enableScriptingAddition = true;
config = {
layout = "bsp";
window_shadow = "float";
mouse_modifier = "fn";
mouse_action1 = "move";
mouse_action2 = "resize";
focus_follows_mouse = "autoraise";
mouse_follows_focus = "off";
window_topmost = "off";
} // gapSettings;
extraConfig = ''
yabai -m rule --add app="^System Settings$" manage=off
yabai -m rule --add app="Python" manage=off
yabai -m rule --add app="macroquad_playground" manage=off
yabai -m rule --add app="^coreautha$" manage=off
'';
};
services.skhd =
let
yabaiSwapToFullscreen = pkgs.writeShellApplication {
name = "yabai-swap-to-fullscreen";
runtimeInputs = [ pkgs.jq pkgs.yabai ];
text = ''
focus() {
yabai -m space --focus "$1"
}
get_fs_displays() {
yabai -m query --spaces | jq -c 'map(select(."is-native-fullscreen" == true))'
}
get_visible() {
printf '%s' "$1" | jq -c 'map(select(."is-visible" == true))'
}
is_empty() {
length="$(printf '%s' "$1" | jq 'length')"
[ "$length" -le 0 ]
}
first() {
printf '%s' "$1" | jq 'sort_by(.index) | .[0].index'
}
try_focus_visible() {
# This should be at max length 1. Though this may likely break in a multimonitor environment
visible_fullscreen_displays=$(get_visible "$1")
if ! is_empty "$visible_fullscreen_displays"; then
visible_index=$(printf '%s' "$visible_fullscreen_displays" | jq -c '.[0].index')
next_index=$((visible_index + 1))
if [ "$(printf '%s' "$fullscreen_displays" | jq "map(select(.index == $next_index)) | length")" -gt "0" ]; then
focus "$next_index"
return 0
fi
fi
return 1
}
main() {
fullscreen_displays="$(get_fs_displays)"
is_empty "$fullscreen_displays" && focus 1 && return 1
try_focus_visible "$fullscreen_displays" && return 1
focus "$(first "$fullscreen_displays")"
}
main
'';
};
# Idk if macos' 'open' is something I can find in nixpkgs lmfao
newAlacrityWindow = pkgs.writeShellApplication {
name = "new-alacritty-window";
runtimeInputs = [ pkgs.alacritty ];
text = ''
alacritty_output=$(alacritty msg create-window 2>/dev/null)
if [ -z "$alacritty_output" ]; then
open /Applications/Alacritty.app
fi
'';
};
session = pkgs.writeText "main-kitty-session" ''
cd /Users/zynh
'';
yabai = lib.getExe pkgs.yabai;
kitty = lib.getExe pkgs.kitty;
in
{
enable = true;
skhdConfig = ''
# float / unfloat window and center on screen
alt - t : ${yabai} -m window --toggle float --grid 4:4:1:1:2:2
# open terminal window using shell script
cmd - return : ${kitty} --session ${session} --single-instance
# rebind space switching
ctrl - left : ${yabai} -m space --focus prev || ${yabai} -m space --focus last
ctrl - right : ${yabai} -m space --focus next || ${yabai} -m space --focus first
# focusing specific spaces
cmd - 1 : ${yabai} -m space --focus 1
cmd - 2 : ${yabai} -m space --focus 2
cmd - 3 : ${yabai} -m space --focus 3
cmd - 4 : ${yabai} -m space --focus 4
cmd - 5 : ${yabai} -m space --focus 5
cmd - 6 : ${yabai} -m space --focus 6
cmd - 7 : ${yabai} -m space --focus 7
cmd - 8 : ${yabai} -m space --focus 8
cmd - 9 : ${yabai} -m space --focus 9
cmd - 0x32 : ${lib.getExe yabaiSwapToFullscreen}
# moving windows
cmd + shift - 1 : ${yabai} -m window --space 1
cmd + shift - 2 : ${yabai} -m window --space 2
cmd + shift - 3 : ${yabai} -m window --space 3
# cmd + shift - 4 : ${yabai} -m window --space 4
cmd + shift - 5 : ${yabai} -m window --space 5
cmd + shift - 6 : ${yabai} -m window --space 6
cmd + shift - 7 : ${yabai} -m window --space 7
cmd + shift - 8 : ${yabai} -m window --space 8
cmd + shift - 9 : ${yabai} -m window --space 9
cmd + shift - 0x32 : ${yabai} -m window --toggle native-fullscreen
# cmd + alt - 4 : "cmd + shift - 4"
'';
};
home-manager.sharedModules = [
{
home.file.".config/yabai/yabaiExe".source = lib.getExe pkgs.yabai;
home.packages = with pkgs; [ yabai ];
}
];
security.pam.enableSudoTouchIdAuth = true;
users.users.zynh = {
name = "zynh";
home = "/Users/zynh";
};
home-manager = {
users = { "zynh" = import ./home.nix; };
backupFileExtension = "backup";
};
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
];
# Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null;
# $ darwin-rebuild changelog
system.stateVersion = 5;
}

View file

@ -1,84 +0,0 @@
{ pkgs, lib, ... }:
{
imports = [
../../home/modules
];
snowhawk = {
alacritty.enable = false;
kitty.enable = true;
macos.enable = true;
sources.enable = true;
projects.enable = true;
ssh = {
enable = true;
homeNetwork = true;
};
neovim.enable = true;
sops.enable = true;
direnv.enable = true;
};
# nixpkgs.overlays = [
# (final: prev: {
# tmux = prev.tmux.overrideAttrs (old: rec {
# version = "3.5";
# src = prev.fetchFromGitHub {
# owner = "tmux";
# repo = "tmux";
# rev = version;
# hash = "sha256-8CRZj7UyBhuB5QO27Y+tHG62S/eGxPOHWrwvh1aBqq0=";
# };
# });
# })
# ];
# programs.tmux.extraConfig = ''
# set -gu default-command
# set -g default-shell "$SHELL"
# '';
snowhawk.tmux.sessionizer.paths = [
"~/Documents/obsidian"
];
programs.kitty.settings = {
background_opacity = lib.mkForce 0.94;
background = lib.mkForce "#171717";
font_size = lib.mkForce 16.0;
hide_window_decorations = lib.mkForce "titlebar-only";
macos_option_as_alt = lib.mkForce "both";
};
programs.alacritty.settings = {
font.size = lib.mkForce 16.0;
window.opacity = lib.mkForce 0.94;
colors.primary.background = lib.mkForce "#171717";
};
home.username = "zynh";
home.homeDirectory = "/Users/zynh";
home.packages = with pkgs; [
nix-output-monitor
(writeShellScriptBin "rebuild" ''
darwin-rebuild switch --flake ~/nixos#lynx |& nom
'')
(writeShellScriptBin "restart-skhd" ''
launchctl stop org.nixos.skhd
launchctl start org.nixos.skhd
'')
wakeonlan
go
rustup
fzf
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "23.11";
}

View file

@ -5,16 +5,9 @@
../../home/modules ../../home/modules
]; ];
nix = {
package = pkgs.nix;
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
};
};
snowhawk.neovim = { snowhawk.neovim = {
enable = true; enable = true;
package = inputs.neovim-overlay.packages.${pkgs.system}.default;
}; };
snowhawk.ssh.enable = true; snowhawk.ssh.enable = true;
snowhawk.sops.enable = true; snowhawk.sops.enable = true;
@ -27,8 +20,6 @@
home-manager switch -v |& nom home-manager switch -v |& nom
'') '')
pkgs.nix
go go
wakeonlan wakeonlan
]; ];

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running `nixos-help`). # and in the NixOS manual (accessible by running `nixos-help`).
{ pkgs, inputs, lib, config, ... }: { pkgs, inputs, lib, ... }:
{ {
imports = [ imports = [
@ -19,32 +19,13 @@
}) })
]; ];
specialisation = specialisation = {
let dwl.configuration = {
nvkConfig = { snowhawk.dwl.enable = true;
system.nixos.tags = [ "nouveau-drivers" ];
boot.kernelParams = [ "nouveau.config=NvGspRm=1" ];
services.xserver.videoDrivers = (lib.lists.remove "nvidia" config.services.xserver.videoDrivers);
};
in
{
# dwmNVK.configuration = {
# snowhawk.dwm.enable = true;
#
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
# } // nvkConfig;
#
dwl.configuration = {
snowhawk.dwl.enable = true;
home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }]; home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
};
# dwlNVK.configuration = {
# snowhawk.dwl.enable = true;
#
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
# } // nvkConfig;
}; };
};
snowhawk = { snowhawk = {
filesystem.enable = true; filesystem.enable = true;
@ -53,7 +34,6 @@
syncthing.enable = true; syncthing.enable = true;
user.enable = true; user.enable = true;
wake-on-lan.enable = true; wake-on-lan.enable = true;
star-citizen.enable = true;
}; };
# Enable automatic login for the user. # Enable automatic login for the user.
@ -62,12 +42,6 @@
user = "ravenshade"; user = "ravenshade";
}; };
documentation = {
enable = true;
dev.enable = true;
man.enable = true;
};
home-manager = { home-manager = {
users = { "ravenshade" = import ./home.nix; }; users = { "ravenshade" = import ./home.nix; };
backupFileExtension = "backup"; backupFileExtension = "backup";
@ -80,11 +54,11 @@
git git
killall killall
linux-manual godot_4-mono
]; ];
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono (nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
]; ];
# Enable CUPS to print documents. # Enable CUPS to print documents.
@ -92,20 +66,6 @@
hardware.keyboard.uhk.enable = true; hardware.keyboard.uhk.enable = true;
swapDevices = [{
device = "/swap";
size = 16 * 1024;
}];
# Also recommended, either as an alternative or in addition
zramSwap.enable = true;
virtualisation = {
libvirtd.enable = true;
};
programs.virt-manager.enable = true;
# I think I need a gtk theme? gnome-keyring # I think I need a gtk theme? gnome-keyring
qt.platformTheme = "gtk2"; qt.platformTheme = "gtk2";

View file

@ -48,8 +48,8 @@ in
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = { fileSystems."/efi" = {
device = "/dev/disk/by-uuid/0499-9841"; device = "/dev/disk/by-uuid/1A0A-CEB2";
fsType = "vfat"; fsType = "vfat";
}; };
@ -129,22 +129,19 @@ in
swapDevices = [ ]; swapDevices = [ ];
# Bootloader. # Bootloader.
boot.loader.grub = { boot.loader = {
enable = true; grub = {
efiSupport = true; enable = true;
device = "nodev"; efiSupport = true;
theme = pkgs.rose-pine-grub; useOSProber = true;
device = "nodev";
extraEntries = '' theme = pkgs.rose-pine-grub;
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os { };
insmod part_gpt efi = {
insmod fat canTouchEfiVariables = true;
search --no-floppy --fs-uuid --set=root 1A0A-CEB2 efiSysMountPoint = "/efi";
chainloader /efi/Microsoft/Boot/bootmgfw.efi };
}
'';
}; };
boot.loader.efi.canTouchEfiVariables = true;
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, config, lib, ... }: { pkgs, config, ... }:
{ {
imports = [ imports = [
@ -7,18 +7,16 @@
snowhawk = { snowhawk = {
# Desktop # Desktop
firefox.enable = true;
dunst.enable = true; dunst.enable = true;
theme.enable = true; theme.enable = true;
redshift.enable = true; redshift.enable = true;
flameshot.enable = true; flameshot.enable = true;
playerctl.enable = true; playerctl.enable = true;
kitty.enable = true; alacritty.enable = true;
defaultPrograms.enable = true; defaultPrograms.enable = true;
pipewire-controller.enable = true; pipewire-controller.enable = true;
# Games # Games
lutris.enable = true;
xivlauncher.enable = true; xivlauncher.enable = true;
# Term Tools # Term Tools
@ -41,7 +39,6 @@
apps = { apps = {
github.url = "https://github.com"; github.url = "https://github.com";
zgit.url = "https://git.zynh.me"; zgit.url = "https://git.zynh.me";
gmail.url = "https://mail.google.com/mail/u/0";
calendar.url = "https://calendar.google.com/calendar/u/0/r"; calendar.url = "https://calendar.google.com/calendar/u/0/r";
slack_nh.urlFile = config.sops.secrets."app_urls/nh_slack".path; slack_nh.urlFile = config.sops.secrets."app_urls/nh_slack".path;
}; };
@ -52,34 +49,7 @@
homeNetwork = true; homeNetwork = true;
}; };
repo-clone.repos = {
"${config.home.homeDirectory}/Pictures/backgrounds".url = lib.zgitRepo "backgrounds";
};
snowhawk.tmux.sessionizer.paths = [
"~/obsidian"
];
home.packages = with pkgs; [ home.packages = with pkgs; [
# (writeShellScriptBin "battlenet" ''
# export WINEARCH=win64
# export WINEPREFIX=$HOME/.wine-battlenet
# wine64 ~/.wine-battlenet/drive_c/Program\ Files\ \(x86\)/Battle.net/Battle.net\ Launcher.exe
# '')
(wineWowPackages.full.override {
wineRelease = "staging";
mingwSupport = true;
})
winetricks
r2modman
wowup-cf
(writeShellScriptBin "fix-desktop" ''
systemctl --user restart xrootdatetime.service
systemctl --user restart fehbg.service
'')
ripgrep ripgrep
unzip unzip
fzf fzf
@ -88,7 +58,8 @@
gparted gparted
arandr arandr
bear brave
firefox
spotify spotify
vesktop vesktop
@ -97,20 +68,18 @@
'') '')
steam-run steam-run
brave
nix-output-monitor nix-output-monitor
(writeShellScriptBin "rebuild" '' (writeShellScriptBin "rebuild" ''
nixos-rebuild switch --log-format internal-json -v $@ |& nom --json nixos-rebuild switch --log-format internal-json -v $@ |& nom --json
'') '')
(writeShellScriptBin "suspend" '' (writeShellScriptBin "alt-firefox" ''
systemctl suspend ${lib.getExe pkgs.firefox} -P "alt"
'') '')
(writeShellScriptBin "reboot-windows" '' (writeShellScriptBin "suspend" ''
sudo ${pkgs.grub2}/bin/grub-reboot "Windows Boot Manager (on /dev/nvme0n1p1)" systemctl suspend
sudo reboot
'') '')
feh feh
@ -134,11 +103,6 @@
pcmanfm pcmanfm
geeqie geeqie
jq
eww
dwm-msg
]; ];
programs.nix-index.enable = true; programs.nix-index.enable = true;

View file

@ -1,40 +0,0 @@
{ pkgs, ... }:
{
imports = [
../../home/modules
];
nix = {
package = pkgs.nix;
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
};
};
snowhawk.neovim = {
enable = true;
};
snowhawk.ssh.enable = true;
snowhawk.sops.enable = true;
snowhawk.repo-clone.enable = true;
snowhawk.user.username = "ravenshade";
home.packages = with pkgs; [
nix-output-monitor
(writeShellScriptBin "rebuild" ''
home-manager switch --flake /home/ravenshade/.config/home-manager#ravenshade@virtmsi |& nom
'')
pkgs.nix
go
wakeonlan
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "23.11";
}

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, inputs, ... }: { lib, config, pkgs, ... }:
let let
cfg = config.snowhawk.dwl; cfg = config.snowhawk.dwl;
@ -9,7 +9,7 @@ in
package = lib.mkOption { package = lib.mkOption {
type = with lib.types; package; type = with lib.types; package;
default = inputs.zdwl.packages."x86_64-linux".default; default = pkgs.dwl;
apply = p: p.overrideAttrs { apply = p: p.overrideAttrs {
postInstall = '' postInstall = ''
mkdir -p $out/share/wayland-sessions mkdir -p $out/share/wayland-sessions
@ -23,16 +23,8 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.graphical-desktop.enable = lib.mkDefault true; services.graphical-desktop.enable = lib.mkDefault true;
services.displayManager = { services.displayManager.sessionPackages = [ cfg.package ];
enable = true; services.displayManager.defaultSession = "dwl";
sessionPackages = [ cfg.package ];
defaultSession = "dwl";
# TODO: greetd?
sddm = {
enable = lib.mkDefault true;
wayland.enable = lib.mkDefault true;
};
};
security = { security = {
polkit.enable = lib.mkDefault true; polkit.enable = lib.mkDefault true;
@ -40,7 +32,7 @@ in
# pam.services.swaylock = { }; # pam.services.swaylock = { };
}; };
# environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
programs = { programs = {
dconf.enable = lib.mkDefault true; dconf.enable = lib.mkDefault true;
@ -50,7 +42,6 @@ in
xdg.portal.wlr.enable = lib.mkDefault true; xdg.portal.wlr.enable = lib.mkDefault true;
xdg.portal.extraPortals = [ xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-wlr
]; ];
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
@ -59,11 +50,9 @@ in
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true; services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
(flameshot.override { enableWlrSupport = true; })
wl-clipboard wl-clipboard
wmenu wmenu
kitty foot
cfg.package cfg.package
]; ];
}; };

View file

@ -1,6 +1,7 @@
{ lib, config, pkgs, inputs, ... }: { lib, config, pkgs, inputs, ... }:
let let
inherit (pkgs) fetchpatch;
inherit (lib) getExe; inherit (lib) getExe;
cfg = config.snowhawk.dwm; cfg = config.snowhawk.dwm;
@ -25,8 +26,15 @@ in
services.xserver.windowManager.dwm = { services.xserver.windowManager.dwm = {
enable = true; enable = true;
package = pkgs.dwm.overrideAttrs (oldAttrs: { package = pkgs.dwm.overrideAttrs (oldAttrs: {
src = inputs.zdwm; patches = [
buildInputs = oldAttrs.buildInputs ++ [ pkgs.yajl ]; # Systray patch
(fetchpatch {
url = "https://dwm.suckless.org/patches/systray/dwm-systray-20230922-9f88553.diff";
hash = "sha256-KeNXvXTxgAFomP/68hljeVLHd9JvXy8WHQ+66nQZCKE=";
})
../home/dwm/config.def.h-6.5.diff
];
}); });
}; };
@ -36,35 +44,18 @@ in
}; };
systemd.user.services.xrootdatetime = { systemd.user.services.xrootdatetime = {
script = script = ''
let while true; do
pamixer = getExe pkgs.pamixer; if [[ "$(${getExe pkgs.pamixer} --default-source --get-mute)" == "true" ]]; then
xsetroot = getExe pkgs.xorg.xsetroot; mutedString="Mic Muted "
in else
/* bash */ '' mutedString=""
function update_x_root() { fi
set +e # allow errors dateTime=$(date +"<-- %A, %B %d -- %H:%M -->")
mute="$(${pamixer} --default-source --get-mute)" ${getExe pkgs.xorg.xsetroot} -name "$mutedString$dateTime"
set -e # disallow errors sleep 1
done
if [[ "$mute" == "true" ]]; then '';
mutedString="Mic Muted "
else
mutedString=""
fi
dateTime=$(date +"<-- %A, %B %d -- %H:%M -->")
${xsetroot} -name "$mutedString$dateTime"
}
trap update_x_root SIGUSR1
while true; do
sleep 1 &
wait
update_x_root
done
'';
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];
after = [ "pipewire.service" ]; after = [ "pipewire.service" ];
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
@ -78,12 +69,9 @@ in
partOf = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ];
}; };
environment.variables.FREETYPE_PROPERTIES = "cff:no-stem-darkening=0 autofitter:no-stem-darkening=0";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
dmenu dmenu
xclip xclip
flameshot
]; ];
home-manager.sharedModules = [ home-manager.sharedModules = [

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
@ -7,39 +7,12 @@ in
{ {
options.snowhawk.dwm = { options.snowhawk.dwm = {
enable = mkEnableOption "niri home-manager module"; enable = mkEnableOption "niri home-manager module";
useXFixes = mkEnableOption "using unclutter-xfixes instead of unclutter";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
# WM Stuff # WM Stuff
xsession.numlock.enable = true; xsession.numlock.enable = true;
services.unclutter.enable = true;
services.unclutter = {
enable = true;
package = if cfg.useXFixes then pkgs.unclutter-xfixes else pkgs.unclutter;
};
systemd.user.services.unclutter.Service.ExecStart =
let cfg = config.services.unclutter;
in lib.mkForce ''
${cfg.package}/bin/unclutter \
--timeout ${toString cfg.timeout} \
--jitter ${toString (cfg.threshold - 1)} \
${lib.concatStrings cfg.extraOptions}
'';
home.file.".xinitrc".text = ''
[ -f ~/.Xresources ] && ${lib.getExe pkgs.xorg.xrdb} -merge ~/.Xresources
'';
xresources.properties = {
"Xft.lcdfilter" = "lcddefault";
"Xft.hintstyle" = "hintslight";
"Xft.hinting" = "1";
"Xft.antialias" = "1";
"Xft.rgba" = "none";
};
}; };
} }

View file

@ -1,24 +0,0 @@
{ lib, config, inputs, pkgs, ... }:
let
cfg = config.snowhawk.star-citizen;
in
{
options.snowhawk.star-citizen = {
enable = lib.mkEnableOption "star-citizen";
};
config = lib.mkIf cfg.enable {
boot.kernel.sysctl = {
"vm.max_map_count" = 16777216;
"ds.file-max" = 524288;
};
environment.systemPackages = [
(inputs.nix-gaming.packages.${pkgs.system}.star-citizen.override {
useUmu = true;
location = "/data/star-citizen";
})
];
};
}

View file

@ -10,5 +10,4 @@ in
borderlessBrowser = callDefaultPackage ./borderlessBrowser; borderlessBrowser = callDefaultPackage ./borderlessBrowser;
zenBrowser = callDefaultPackage ./zenBrowser; zenBrowser = callDefaultPackage ./zenBrowser;
rose-pine-grub = callDefaultPackage ./rosePineGrub; rose-pine-grub = callDefaultPackage ./rosePineGrub;
dwm-msg = callDefaultPackage ./dwm-msg;
} }

View file

@ -1,44 +0,0 @@
# Yoinky Sploinky https://git.nullcube.net/nullcube/nullpkgs/src/branch/main/pkgs/dwm-msg/default.nix
{ lib
, stdenv
, fetchFromGitHub
, libX11
, libXft
, libXinerama
, pkg-config
, yajl
,
}:
stdenv.mkDerivation rec {
pname = "dwm-msg";
version = "1.5.7";
src = fetchFromGitHub {
owner = "mihirlad55";
repo = "dwm-ipc";
rev = "v${version}";
hash = "sha256-ReQbA551i6YOQi/Qoive7jANnD5/IcXGApHHctgPdOM=";
};
nativeBuildInputs = [
pkg-config
libX11
libXinerama
libXft
yajl
];
installPhase = ''
mkdir -p $out/bin
cp dwm-msg $out/bin/
'';
meta = with lib; {
description = "a cli program that can be used to run commands, query dwm for information, and listen for events.";
homepage = "https://github.com/mihirlad55/dwm-ipc";
license = licenses.mit;
# platforms = platforms.all;
mainProgram = "dwm-msg";
};
}

View file

@ -1,5 +1,4 @@
private_keys: private_keys:
github: ENC[AES256_GCM,data:FH+z20K3ZZwcKCdDeBu5ogezpOBic5IjjBLyWw3QlKLtRXZIR7+Gkn7Hf9j9v5xPDGc8kpkKcF9n5EV1/4jrDeVic0LNz/D2OLbNUiTgxKsWatt9DurOo942iNRTpbysNo0DOD2rCFTal5d5J7rgxCe4anrdHiKM9BwArHGwe8PDEt5U1UcpEPeJ1MWjaUaTRRYwYzPHirM1POlXZBUe67Zq98OG9nKfrNMKhiHBAdyYzGZGd4xVxoj36H3oh14uozEmuwaAvp/EVJ/Wd7trlq8MNjtuSdSCB6WgpOSJasSaGP0ADmiaSRX4kKxxSiy0fSw0bWwZc45XXfftSGRlSx3/Bg4ekcu/iVojVYrwWL1Z9L+v2TPqoNYOWLfseQoUjkiad5eK3T1Go5sz/ToirdMagv5ICGBZ/97abJIc5Q1TVyoR1o8t9MzpkIAA7ajW0Ux83DY4MFhJ/GV2aMPd/UJXqLF4QYLgww9P/MyOKxqtcR3PONbRB5SqEgG39p+b3pZ3+SCP+IU6bhvej0FA0UeKWxVU1qFMqlRQ,iv:9e9yDKsPp+DK2L8Cw4uiQF9UlsdbpCtGWdFf5r2j4QI=,tag:L/HPQ6tGuwgcX/i3s0gvcQ==,type:str]
personal_git: ENC[AES256_GCM,data:r5NXuhqltyaZpjMhz6Nh+2Nv1UI86nxtud5aPFkAfwOuBhtDLOx5dOZWZqJ/8Lf+hjyVsCRN77GNXIKmBA3UhguIzWdWSRMboDXYePxRar+i0rBQdKK24rzPLMAYRd5L1sLml1hS5eZxds+D+C5PCv4FXrkc+9xO08RPFgqJVfFbzIEM/5HAmgG1xLpK32+56/QdwW/bL2r2bheSuNXmcrciDeilVBS5/jVgIaa8mxDHQjVPi6SdL4MGt85+OpcOesqDGuTpc00H9kd/i6mOucYCw2UjHJpLYDJ202cE0pHiKenFbssiS+NqG7dWSLKD0HqhDoHLvJVaXlLT+GxEx1ec/vHAl7LgpRRpUfcEknFpsJgliPOfr1p3D2plx/ZcWqysFy3jZ5HZI3ZawRrsDdQlKpljcjCgOeCVoTlQdrjQruDV3QueLPn5ueFMx3Iks6e/PyENXp+JhdJID5dPjckSb2vp/VUP7n3PT3aNuPMluMpXFUhUwthTb/RsKBAqDUEaw0RAe1mvAaoD3ZUJtg5Q84UVuQxQHGtS,iv:fUwoEgHb2Bat/qjnedfHVzso0qfRPXuelO26CFxdud0=,tag:bqHeF1R4+IHQ/a0urVXhIA==,type:str] personal_git: ENC[AES256_GCM,data:r5NXuhqltyaZpjMhz6Nh+2Nv1UI86nxtud5aPFkAfwOuBhtDLOx5dOZWZqJ/8Lf+hjyVsCRN77GNXIKmBA3UhguIzWdWSRMboDXYePxRar+i0rBQdKK24rzPLMAYRd5L1sLml1hS5eZxds+D+C5PCv4FXrkc+9xO08RPFgqJVfFbzIEM/5HAmgG1xLpK32+56/QdwW/bL2r2bheSuNXmcrciDeilVBS5/jVgIaa8mxDHQjVPi6SdL4MGt85+OpcOesqDGuTpc00H9kd/i6mOucYCw2UjHJpLYDJ202cE0pHiKenFbssiS+NqG7dWSLKD0HqhDoHLvJVaXlLT+GxEx1ec/vHAl7LgpRRpUfcEknFpsJgliPOfr1p3D2plx/ZcWqysFy3jZ5HZI3ZawRrsDdQlKpljcjCgOeCVoTlQdrjQruDV3QueLPn5ueFMx3Iks6e/PyENXp+JhdJID5dPjckSb2vp/VUP7n3PT3aNuPMluMpXFUhUwthTb/RsKBAqDUEaw0RAe1mvAaoD3ZUJtg5Q84UVuQxQHGtS,iv:fUwoEgHb2Bat/qjnedfHVzso0qfRPXuelO26CFxdud0=,tag:bqHeF1R4+IHQ/a0urVXhIA==,type:str]
msiserver: ENC[AES256_GCM,data:WPfERytAHOgvEpAs1neYMlV1tc6gJUPlYuW7iak9/UNEguNR3UlNB2OLHGYlpnPjH9hIOsUzxBNoE+kTI2atm1kZzIkzHCuJyn/CMaW61dPY+kvv/oiKSr/eqOLY7WLnniQysWih8zjtbb0DUoVfT9UujuWLaE92F9y7ZWyfz61Kf9BgyUF9xBkmwfOYnOs0ugnslm42jLh+qpw+2N2CqG5aqmBJzXp8fZfHmT5+wYTlKK4yb3vfXejcFQ37aLZwimJ9qn2Kfa4X6h1U9yerrNnOWhc0WC+1X3G1HKTlEF/yHTnIbSysxIYFdGPgzxFaw7Tyh2KhCJVOuPAJPmq7ms+lgpmS/Tr6ZdGF9XPGufT+UiiYFdK0zQYDz5A7qoDaOmztzFHhCtAmo6MvBUt2c4j03mT+KHkn9qFaQ1M/6EMp0KcL7Wt3bKLOC3kkbU9kMrahxhYTC7vTc33kZuvSsbTBnVJTAZM2vhIsOd2DtJzBdbTNXwpLqo5elQ8GuOBec84dAnYGs7etekn4GpuI0OayAlSoGdmGK6qmfBTZm62zuTadF/JBCKQU6sFyw1IfCO6fTSibQ/L7eqn8HF/pDG1+v+XHYYzv56gZHgIY78XB27phEbB+n7KFGHYw8RYDWHGsgZrR93ZRoVG5RXo/cx0+GqZHxEf+xHtrO6G4cKq8rIlvGcLMp6gWLrJRhZ4qObzpk5i/TRQH8qGeB5ZDzDkGmWwJV2xAmDuJnCSAmv1vVVDHPwAT5NfmJS4PXmTeDNBGLX/xf+tXFLI5fWhqAEynutVv5yavSxfOZ0a8+y7Ks0TbOaxwcCjWtJpmTmMLnROY1cEzre/tdxDA3TKJgLvqM05qN44MmS9ZDb3DDTiVAfDjjoKJt3XTTj3T3pbI4GIxapoKvLuQr/bWWwA2Ho5WXV8uCL0HBkuHSX5nTElnTWGbDznQOqnT4NlXRFTE17WYyoL1O8iv9s1QNHoBl89DrNfnAD5PeMU8zfXOHEH9UPSfniMvK0SxfaP6hZ2dx/VJyuby/ZMkbha9T0tXA3BQdqrB7D2qng8t62cywDhIIiXK1L2XIuVCewjEgmtFlG+MjDTW62y1cXjiAf8UzoxYIjvbsiDS0f75cAEpNnof8sbuGRFFnv8MF/8D16KWW1mUC6tH+nta260JgM4N2Coep8hzH5FE6BDrn/2pggycTWO7nkZQR+70p3F9POeokAiXee88z3yuddfP4ZBA4y7qLYfsImDkZBFHWinDD5BNKb9Ows/YbvtYJkykbR60hMPIVJdPIB2kFdOOAjHd5dDOtNiwLU3IEQCjAy+tFndnsTjQCqIq0zkm7O0bHedIWv3gequSaxvcG9pixtbCSCOLeqebzONb+MGQl7d/pgPCU3YL9dGh7YAfeT0X05tY9YOUqoBxFT5kCzz0pdkkYe2GMXxMAvTAdHfC1joqFvaO8hJ7FE38hCyDr+LWDDCjz8zI4nYP90BtiW16A/P1jmdXwkqaYdEmeNjOpIJAjvpzndRtW+t0M/ip1BJLL33h+Zk5Va23Th7BNfC/aGCyOv8PytteN4Cnvq1z8giY2vQ582uZz6Wi/oQKcTp6p7zNcy/cFQtgRWv1BSrZJGptvhQXobEO8VdHwKjgR0R1DYlIDYXb7fK3dvedttNjhwhyghfr8XfWoaDQKRYNwWBMC5eE4ikCUH+QXa4z7aqRDlUCum+sG8I6ZZ6xsEmTDH/GZ2lpgGDlHrC2yEQQBRRhJQ9VONnT/GMYxMUGg2NDDRcAuGxAcfXiN7mNbj0AmF0xBEIrxGQHjN64YTTDKltjad7GelzqRQNHV4DBl+5tzD3gTFovNPKzBhA73BLngK411DFi+fhr5nx7mWv2VtGz5mx01ShJhRQwZSR7dTG4Bb3vsFTljEDy9Qu6GrMXKBOzbJRtbGDZzx3KFiDNzHIPyd75/3Fn+CseBzHY3R1rOmfyCFlyP8yXpQBfsftTfPThrOXGQDu+lk8JtxR1dpVCJyl9bW0cFoZYoeUGbny4NpuUOeeDzfct1tf1WOhC4iRnGEorLpsAKiQTFekes6t/+iZJqZ8G7A2QtetO0o1MkYwJZR+4scr5PK5//ibbHY/bV6ubVOVbRLpqUChlPGcHP8e9MuRGxbH5hsFx8FlQDCNSGJetqtt0ygJtdvV3LCelDmhHqwM7t0LKVzrvpkw4l8wO4qhwUobRHgI6A0wEe8jgzpM4a5ZYas7aC46ie/sRBWBY33yrXTkL3kURD4pxmBs6b235A7JnHCDGxERBE/5yJ3IWmf7YNxACKBcRqxGtqgg6RDCcSC+spTG3rqMOQXYJP+JhSArv4yReGF6WgWtmFebXsI4TME42S8coomys0wcv9nB4+15GpSDtEN86YKT57XlcsTSI/tS8xdCnFMTAVuZOJ9Uyb9kMLP216lV5cp6RXj6IjAQ9GJjW2rCnBAJ4ejERW8ZJi3a4kBbrRoKY+Pp3F3kH/RrzJySFmsaIASWjujfRYqJzx2aY6pBpzjDsquv7QgsHWeSxKZGrJU9nU4puJeQzus9nmQPMrpmCyj+74Z/7015d7NZgh8zuqRPvIS8Hd2vQmE7zepMklFkhzT7H9kjIDmuitxvm4GDEYw+DQctfXe6m3LpOoiKnB1FN+AgH9AIxbz7Vs6ObyTDpK24u9IkfUuQAP2ImvyEpb0Sbh9eDLhN+tLdiY7rC7e0JaxoM0N6ARpxXylhLznuXNB03PfT0sa8XRwBqWpfhYIAJe7+su3NdBd6fmwpsNDbnNbDWwsWVUO33X4w5s3xZn6P+augAJA57stmX0xD/UZG+y84kkrF/YLtFJ9GJYzbrJD2AdJj1zbMpTeIuoE+aSnoB2xQzBQwWUp2qodAcIEisCRhD2UwdP6P+GhSyf43vW/eIeyfL+3aSXxQ2RkaHPZAXucxh8DCpT0vFF68XSuUf2iQnmX0thVUCSS4D063DPtBOQ9u2gC8ZnL9uyl27OI8Vr36L6nR+XnkV+/XkpgkVpj8ianjkM/IsqN9KQZUjgIkR7fenl0UalaJ9UcTspLfkNU67rTbhcJ9+G/QCguJ5I9ovJSS5k4u0t8SE0ZelRyC7j8xh5yT9l/GaoWuQryID145vR2Qf5jmR9H34mDhQigB713+7mjqoLGkorrhrZqLIDO94SRDJhUUn5nqCQmuwz9T22p9xqjpzwk9XGWsTN3+Mvku+OdpZWkVNwfWPJO2ShEcfQIBBykMO1gN1N8RbusFzCJfKCER7Rq2bnm31g+hby6Xms3pmW+Xg9jNj9HParuWewYx4nTLdGR+c5aufVp3xRpgSMD5w9uQIDebiuss8eFR64GcMlG90cC6ewHjS+68P/Rfnd24XawFNm4hu11TvA6zSjK6h6J4YehPzdnEUFFz5bh26AJkcnTN8svwcUW8etq8X9yN+W4UWFxtZNdNoLT2XD6v4C7TNhIugA4h9MIkxdA==,iv:QD0B2ymlqkSAV1wEAQyJAomxpIj+ydeikTJmVhxpxBo=,tag:zbXmhxabQwLgkPxavodHxQ==,type:str] msiserver: ENC[AES256_GCM,data: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,iv:QD0B2ymlqkSAV1wEAQyJAomxpIj+ydeikTJmVhxpxBo=,tag:zbXmhxabQwLgkPxavodHxQ==,type:str]
caveserver: ENC[AES256_GCM,data:bf3+bhbbX08NPk31Wy26ZsYzUIg2fv7SjWZ73CEOPTQZf8yLy32A63oJX71qtPIj6PcpbsHfrYGMKYHuMUYr5N9fYDhiXEbesAt1nX9HOsq0UwYSl7HWucRHkorkIq09r5oVB4CWoYEj6/2HmZhbYJgEZdMptActi3+eRobgjTdqtq4Q8K0tp9X3VeE2Ca/M17DEz9y93aMKunXbD38jS+zZs0SI1OtyC0V9MenAtiiadBznexq6IVwsp/4mcAiv0udFn7lwCYpPPsSKoCjFYfNIPu/0rCIEag3/bdJHPJA0fng37E4ZGA3ZCwy4PhaJ88kJBAqLJ8u1mQ+UGNFtZBaqww+RIAStkq958tYoyZaI4C+E+XpGRs6FsthN9lsJZ1skiT41vxsfb9+M2sELv+Jm9xDkHJr7+pjtGkN2xEvWS/DrzsKxl4qCw+ZkyE5VNS7vW+gfM+7XieooxXJlQEihlYWflRd1aikYfEizXXWaM6XlLsHtFYEmtQMvesB8XCeoCVT47XgGNqmaNFEEo6Pdl5ke6WO4Gi5K,iv:FZWDaT+ernolWiLZbE67g9JWNCgCwdUyglv8cwAeFO0=,tag:emCa72E1HIjU6+PAJvICcQ==,type:str] caveserver: ENC[AES256_GCM,data:bf3+bhbbX08NPk31Wy26ZsYzUIg2fv7SjWZ73CEOPTQZf8yLy32A63oJX71qtPIj6PcpbsHfrYGMKYHuMUYr5N9fYDhiXEbesAt1nX9HOsq0UwYSl7HWucRHkorkIq09r5oVB4CWoYEj6/2HmZhbYJgEZdMptActi3+eRobgjTdqtq4Q8K0tp9X3VeE2Ca/M17DEz9y93aMKunXbD38jS+zZs0SI1OtyC0V9MenAtiiadBznexq6IVwsp/4mcAiv0udFn7lwCYpPPsSKoCjFYfNIPu/0rCIEag3/bdJHPJA0fng37E4ZGA3ZCwy4PhaJ88kJBAqLJ8u1mQ+UGNFtZBaqww+RIAStkq958tYoyZaI4C+E+XpGRs6FsthN9lsJZ1skiT41vxsfb9+M2sELv+Jm9xDkHJr7+pjtGkN2xEvWS/DrzsKxl4qCw+ZkyE5VNS7vW+gfM+7XieooxXJlQEihlYWflRd1aikYfEizXXWaM6XlLsHtFYEmtQMvesB8XCeoCVT47XgGNqmaNFEEo6Pdl5ke6WO4Gi5K,iv:FZWDaT+ernolWiLZbE67g9JWNCgCwdUyglv8cwAeFO0=,tag:emCa72E1HIjU6+PAJvICcQ==,type:str]
@ -38,8 +37,8 @@ sops:
Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh
ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q== ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-12-09T11:49:43Z" lastmodified: "2024-10-02T05:03:22Z"
mac: ENC[AES256_GCM,data:QwG57P0fKhYpPDdwgufmtv1LBMdCo0e8X2r7ja5ZDJzlTEQolhs/f5UThmmYrPC3t9BlMxK25/cmH0YRy91u51Az3hRGE8SI9NczVkr5dAeSEVws9N4WG22IYAjCmREWaGrJ10mBFoau87W0MqxhvcIy7QwNNXTrirXpNXMJk6w=,iv:A/xhsFl7Zl2iNF/NbmSP3pJNAqldf6HAqvcifIfLgME=,tag:Cg9HgW8x3Z2nUucrnpBStA==,type:str] mac: ENC[AES256_GCM,data:5uu8UWdvE28qmxi9WnmA/3PjUcnKuP+F78xmeiK8gyJjK0Pd88wt06TMk55ey8BadYkhGRa3+F28q4gu0QqPSau+6OeffOokZg1JkAWymWcVYyW1cMAha3YiUfO+iR9/8O59XdTB6QkfO5j94NYWZLOgtzy9AxxEFJ7VbYoUuEc=,iv:WXzDvJM5zu3jrQ4jfCl+iYzZAC5UCdHR0ZhW3WLmBZA=,tag:mpZ7qv813nBgvsIfquzDYA==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.1 version: 3.9.0