Compare commits

...

118 commits

Author SHA1 Message Date
d936279851 snowhawk: obsidian sessionizer 2024-12-25 13:41:20 -08:00
4c7961a110 lynx: rename little-lightning to lynx 2024-12-25 13:40:15 -08:00
a05e2f350b nvim: add marksman 2024-12-25 13:40:15 -08:00
97644b68c6 dwl: wlr portal 2024-12-13 05:48:34 -08:00
39ac8c80f0 zdwl: flakening 2024-12-13 05:48:34 -08:00
39cd50f49c flameshot: let DE manage flameshot 2024-12-13 04:47:44 -08:00
4ed8d17b7e dwl: external config 2024-12-13 04:47:44 -08:00
3ad4ddbda4 dwl: I needed a display manager! 2024-12-13 04:47:44 -08:00
3ec10dd505 snowhawk: add bear and brave 2024-12-13 04:47:42 -08:00
fbae92812f snowhawk: star-citizen setup 2024-12-12 14:06:12 -08:00
45e5a8adc8 little-lightning: nix.optimise.automatic 2024-12-12 04:12:53 -08:00
e8d79d9836 snowhawk: star citizen 2024-12-09 20:01:11 -08:00
2188a37289 ssh: github key 2024-12-09 03:58:07 -08:00
279a352de2 flake: stinky updated nix lock changes 2024-12-09 03:14:46 -08:00
fcfb83a2da firefox: userChrome formatting 2024-12-09 03:14:14 -08:00
9c9d45d0c4 snowhawk: disable wezterm 2024-12-08 23:51:54 -08:00
43a2b76c59 flake: update 2024-12-08 23:39:10 -08:00
58545ebda8 flake: disable lix in prep for unstable migration 2024-12-08 23:39:10 -08:00
bf5ece05bd dwm: no-anybar 2024-12-08 21:55:32 -08:00
f66f4e19c1 dwl: enable displayManager 2024-12-08 17:47:11 -08:00
85659453ee dwl: formatting 2024-12-08 17:47:11 -08:00
3c21e459c9 snowhawk: enable dwl spec 2024-12-08 15:55:30 -08:00
8529c4650d dwl: remove NIXOS_OZONE_WL 2024-12-08 15:52:41 -08:00
756cfaa3a8 kitty: move macos fonts to module 2024-12-06 12:23:33 -08:00
0f4fe1501b little-lightning: disable alacritty 2024-12-05 20:39:40 -08:00
4e7b60fed3 kitty: increase fontweights on macos 2024-12-05 20:33:20 -08:00
d94884b7ae kitty: little-lightning 2024-12-05 20:21:08 -08:00
6a4626438b flake: update fish_theme 2024-12-03 08:20:20 -08:00
79746de69a wezterm: home manager fd 2024-12-02 12:50:22 -08:00
1a78c1cf19 neovim: add coreutils 2024-12-02 12:50:13 -08:00
f5b9f5ae6b dwm: preanybar 2024-11-30 13:53:43 -08:00
fcd5000e6a wezterm: module init 2024-11-30 13:53:43 -08:00
078943a122 dwm: anybar 2024-11-29 19:46:27 -08:00
b48fe4f845 clang-tools in neovim path 2024-11-29 17:43:05 -08:00
b1534fac93 snowhawk: disable specs 2024-11-29 17:43:05 -08:00
58fba557c5 kitty: kitty-snap testing 2024-11-29 17:43:05 -08:00
a35083ff1e snowhawk: jq 2024-11-29 17:43:05 -08:00
82d7fab51e kitty: allow_remote_control 2024-11-29 17:43:05 -08:00
9670caae7d snowhawk: linux documentation 2024-11-29 17:43:05 -08:00
ad69f97952 pkgs: actually add dwm-msg to pkgs 2024-11-29 17:43:05 -08:00
dde8a27a7e pkgs: dwm-msg 2024-11-29 17:23:50 -08:00
d35f56c603 repo-clone: don't default use backgrounds lmfao 2024-11-26 09:12:08 -08:00
401ccb46df fish_theme: update 2024-11-26 07:27:36 -08:00
f72f681337 virtmsi: sops enable 2024-11-26 05:09:27 -08:00
68ae98e457 virtmsi: add host 2024-11-25 18:37:20 -08:00
4331755ff0 nvim: include zig and make with neovim 2024-11-25 18:28:06 -08:00
1bfd862394 little-lightning: enable skhd 2024-11-25 07:58:20 -08:00
f3b6610f8c little-lightning: skhd config 2024-11-25 07:48:52 -08:00
6249572392 little-lightning: remove testing pam stuff 2024-11-25 07:29:21 -08:00
8962a4990a snowhawk: enable virtualization 2024-11-24 16:22:11 -08:00
ee109829a7 snowhawk: remove brave from path
all my brave-apps should work still
2024-11-24 16:17:44 -08:00
a9fb22bf86 firefox: move alt launch script to module 2024-11-24 16:17:44 -08:00
32a5792162 lutris: module init 2024-11-24 16:08:59 -08:00
7231441858 dwm: not sure what this pulls lmfao 2024-11-24 15:58:21 -08:00
6be3082c80 dwm: restart rules 2024-11-24 15:58:21 -08:00
d016ef7db5 dwm: restart use nix 2024-11-24 15:58:21 -08:00
a387549e91 dwm: preserve tags update 2024-11-24 15:58:21 -08:00
d4cd494b5e little-lightning: maybe pam another time 2024-11-24 14:41:14 -08:00
c2869eb6aa little-lightning: pam_reattach.so 2024-11-24 14:37:37 -08:00
22395f7694 little-lightning: tmux shell fix
see: https://github.com/nix-community/home-manager/issues/5952
2024-11-24 10:50:12 -08:00
d0eab78ad9 dwm: fetch restart update 2024-11-23 17:45:19 -08:00
d12ac360c1 neovim: fix ts grammars 2024-11-23 17:16:19 -08:00
0b3bb3e92b kitty: module init 2024-11-23 16:04:14 -08:00
b5e8c0774e Revert "flake: update"
This reverts commit 2b14985fc9.
2024-11-23 11:14:00 -08:00
a111c7267a dwm: use dedicated dwm source mirror
dwm: pull typo fix
2024-11-23 11:14:00 -08:00
58e1e4eb1e snowhawk: wow stuff 2024-11-23 11:02:26 -08:00
2b14985fc9 flake: update 2024-11-23 09:05:56 -08:00
1a8afca99e snowhawk: reboot-windows 2024-11-23 09:05:53 -08:00
edf9ae648d msiserver: trying nixpkgs nix 2024-11-22 17:17:06 +00:00
995abd4dcb msiserver: nixpkgs nvim 2024-11-22 09:04:04 -08:00
2220e7498e msiserver: nix settings 2024-11-22 09:00:54 -08:00
535f713c79 dwm: stem darkening? 2024-11-20 06:37:02 -08:00
3c87abea9d dwm: .Xresources file 2024-11-20 06:32:39 -08:00
2e704b22f8 dwm: load xresources on boot 2024-11-20 06:28:17 -08:00
6898c0ddae firefox: use main userChrome on alt 2024-11-16 04:31:53 -08:00
54cdd90c01 little-lightning: direnv 2024-11-15 10:14:40 -08:00
f3169efb98 tmux: more macos tinkering 2024-11-15 10:03:52 -08:00
ea8bd429b8 little-lightning: environment.shells 2024-11-15 08:39:17 -08:00
ef60e8d7d9 umu: the final unspicy 2024-11-15 08:39:00 -08:00
b64f325a02 flake: try flake level lix 2024-11-15 08:13:21 -08:00
4a4ac66c83 little-lightning: lix 2024-11-15 07:53:39 -08:00
55ec65c9e1 ssh: snowhawk ip update 2024-11-14 08:24:28 -08:00
0f6936dbd1 little-lightning: touchid sudo 2024-11-13 17:59:46 -08:00
ed14a86476 little-lightning: nerdfont 2024-11-13 03:37:06 -08:00
70ce71c36e dwm: per tag patch 2024-11-12 08:14:42 -08:00
d9e667fe37 little-lightning: symlink yabai 2024-11-08 23:10:44 -08:00
6ece7dba5f little-lightning: yabai config 2024-11-08 23:08:59 -08:00
7f5a55ba72 little-lightning: no longer relying on fish 2024-11-07 16:30:57 -08:00
8aba0be0b4 umu: being spicy again? 2024-11-07 16:19:30 -08:00
dc4a69b73a little-lightning: fish fishing ig 2024-11-07 16:19:23 -08:00
4e15d8da53 little-lightning: rebuild as a fish abbreviation 2024-11-07 16:17:22 -08:00
ebf403819f flake: reorder systems 2024-11-07 16:17:22 -08:00
b4fe279925 dwm: unclutter-xfixes option 2024-11-07 06:37:58 -08:00
2500589ae9 dwm: unclutter-xfixes 2024-11-07 06:37:58 -08:00
e41b72eedf snowhawk: r2modman 2024-11-05 18:08:31 -08:00
074a47a2bd umu: being spicy 2024-11-05 18:08:07 -08:00
70a093ed7a builders: revamp compile step 2024-11-05 17:11:49 -08:00
f95a2b8e0e snowhawk: removing some whitespace 2024-11-05 16:11:44 -08:00
d802105171 snowhawk: remove configuration hostPlatform
I handle this at the flake level
2024-11-05 01:01:35 -08:00
d35fbb68b8 snowhawk: nix-darwin time 2024-11-05 01:00:34 -08:00
227dddf2f7 tmux: always use fish 2024-11-04 03:49:29 -08:00
4a238f0a03 flake-lock: idk why it did this on my mac 2024-11-04 03:49:29 -08:00
8caa4f6d77 firefox: module init 2024-11-03 18:59:29 -08:00
8ab25ee76f snowhawk: no more os-prober 2024-11-03 18:03:01 -08:00
c5d34f3735 snowhawk: nvk specs 2024-11-03 18:01:10 -08:00
39ddd06084 snowhawk: new /boot 2024-11-03 17:26:16 -08:00
58a46c793b pipewire-controller: trying to send sigusr1 to xrootdatetime 2024-11-03 17:26:16 -08:00
7c27f7d51f snowhawk: remove godot_4 2024-11-03 17:26:16 -08:00
ba2d7312b4 flake: update 2024-10-31 01:16:09 -07:00
adc11bc50a xrootdatetime: force update on SIGUSR1 2024-10-30 22:07:15 -07:00
b0c18c7c15 xrootdatetime: fixing crash on initial boot
xrootdatetime: trying to fix crashes
xrootdatetime: allow errors
2024-10-30 20:51:38 -07:00
28573bd36d snowhawk: umu wine 2024-10-26 15:33:20 -07:00
3a79f2d53a snowhawk: gmail brave-app 2024-10-23 16:06:41 -07:00
0830c161d1 snowhawk: wine and lutris stuff 2024-10-23 16:05:55 -07:00
7cdec173d0 neovim: taplo 2024-10-20 04:26:39 -07:00
9f8858fe34 neovim: stylua 2024-10-20 04:20:05 -07:00
3e1199a700 filetypes: adjusting associations added 2024-10-19 22:34:04 -07:00
ff98b2da60 snowhawk: add obsidian to sessionizer 2024-10-19 13:16:38 -07:00
36 changed files with 1411 additions and 368 deletions

View file

@ -1,4 +1,4 @@
{ nixpkgs, self, ... }@inputs: { nixpkgs, nix-darwin, self, ... }@inputs:
let let
makePkgs = system: (import nixpkgs { makePkgs = system: (import nixpkgs {
@ -8,6 +8,21 @@ 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=";
};
});
})
]; ];
}); });
@ -33,7 +48,6 @@ 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;
@ -42,12 +56,6 @@ 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 ? "" }:
@ -67,10 +75,35 @@ 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 toPartialHomeManagerConfig) (map toPartialConfiguration)
systems; systems;
compileNixosSystems = compileSystems toPartialNixosConfig;
compileDarwinSystems = compileSystems toPartialDarwinConfig;
compileHomes = compileSystems toPartialHomeManagerConfig;
} }

View file

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

@ -1,92 +0,0 @@
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

@ -0,0 +1,53 @@
## 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

54
home/kitty/rose-pine.conf Normal file
View file

@ -0,0 +1,54 @@
## 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,6 +9,18 @@ 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:
@ -18,24 +30,15 @@ in {
{ {
enable = true; enable = true;
defaultApplications = lib.mkMerge [ defaultApplications = lib.mkMerge [
(mimeAppsFor browser [ (mimeAppsFor browser 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/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 = {

50
home/modules/firefox.nix Normal file
View file

@ -0,0 +1,50 @@
{ 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;
}; };

51
home/modules/kitty.nix Normal file
View file

@ -0,0 +1,51 @@
{ 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"}
'';
};
};
}

19
home/modules/lutris.nix Normal file
View file

@ -0,0 +1,19 @@
{ 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.withPlugins (_: nvim-treesitter.allGrammars); treesitterWithGrammars = nvim-treesitter.withAllGrammars;
treesitter-parsers = pkgs.symlinkJoin { treesitter-parsers = pkgs.symlinkJoin {
name = "treesitter-parsers"; name = "treesitter-parsers";
@ -56,11 +56,18 @@ 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,6 +44,28 @@ 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,12 +14,5 @@ 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,8 +29,13 @@ 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.21"; hostname = "192.168.0.22";
user = "ravenshade"; user = "ravenshade";
proxyJump = "zynh@msiserver"; proxyJump = "zynh@msiserver";
identityFile = keyPathIfSops "snowhawk"; identityFile = keyPathIfSops "snowhawk";
@ -56,6 +61,7 @@ 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,6 +15,8 @@ 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";

33
home/modules/wezterm.nix Normal file
View file

@ -0,0 +1,33 @@
{ 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

@ -0,0 +1,50 @@
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

@ -0,0 +1,49 @@
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

@ -0,0 +1,53 @@
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

@ -0,0 +1,52 @@
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

@ -1,54 +0,0 @@
{ 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

@ -0,0 +1,195 @@
{ 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;
}

84
hosts/lynx/home.nix Normal file
View file

@ -0,0 +1,84 @@
{ 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,9 +5,16 @@
../../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;
@ -20,6 +27,8 @@
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, ... }: { pkgs, inputs, lib, config, ... }:
{ {
imports = [ imports = [
@ -19,12 +19,31 @@
}) })
]; ];
specialisation = { specialisation =
let
nvkConfig = {
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 = { dwl.configuration = {
snowhawk.dwl.enable = true; 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 = {
@ -34,6 +53,7 @@
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.
@ -42,6 +62,12 @@
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";
@ -54,11 +80,11 @@
git git
killall killall
godot_4-mono linux-manual
]; ];
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) nerd-fonts.jetbrains-mono
]; ];
# Enable CUPS to print documents. # Enable CUPS to print documents.
@ -66,6 +92,20 @@
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

@ -49,7 +49,7 @@ in
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/1A0A-CEB2"; device = "/dev/disk/by-uuid/0499-9841";
fsType = "vfat"; fsType = "vfat";
}; };
@ -132,9 +132,17 @@ in
boot.loader.grub = { boot.loader.grub = {
enable = true; enable = true;
efiSupport = true; efiSupport = true;
useOSProber = true;
device = "nodev"; device = "nodev";
theme = pkgs.rose-pine-grub; theme = pkgs.rose-pine-grub;
extraEntries = ''
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 1A0A-CEB2
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
'';
}; };
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }: { pkgs, config, lib, ... }:
{ {
imports = [ imports = [
@ -7,16 +7,18 @@
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;
alacritty.enable = true; kitty.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
@ -39,6 +41,7 @@
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;
}; };
@ -49,7 +52,34 @@
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
@ -58,8 +88,7 @@
gparted gparted
arandr arandr
brave bear
firefox
spotify spotify
vesktop vesktop
@ -68,20 +97,22 @@
'') '')
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 "alt-firefox" ''
${lib.getExe pkgs.firefox} -P "alt"
'')
(writeShellScriptBin "suspend" '' (writeShellScriptBin "suspend" ''
systemctl suspend systemctl suspend
'') '')
(writeShellScriptBin "reboot-windows" ''
sudo ${pkgs.grub2}/bin/grub-reboot "Windows Boot Manager (on /dev/nvme0n1p1)"
sudo reboot
'')
feh feh
imagemagick imagemagick
uhk-agent uhk-agent
@ -103,6 +134,11 @@
pcmanfm pcmanfm
geeqie geeqie
jq
eww
dwm-msg
]; ];
programs.nix-index.enable = true; programs.nix-index.enable = true;

40
hosts/virtmsi/home.nix Normal file
View file

@ -0,0 +1,40 @@
{ 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, ... }: { lib, config, pkgs, inputs, ... }:
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 = pkgs.dwl; default = inputs.zdwl.packages."x86_64-linux".default;
apply = p: p.overrideAttrs { apply = p: p.overrideAttrs {
postInstall = '' postInstall = ''
mkdir -p $out/share/wayland-sessions mkdir -p $out/share/wayland-sessions
@ -23,8 +23,16 @@ 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.sessionPackages = [ cfg.package ]; services.displayManager = {
services.displayManager.defaultSession = "dwl"; enable = true;
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;
@ -32,7 +40,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;
@ -42,6 +50,7 @@ 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
@ -50,9 +59,11 @@ 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
foot kitty
cfg.package cfg.package
]; ];
}; };

View file

@ -1,7 +1,6 @@
{ 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;
@ -26,15 +25,8 @@ in
services.xserver.windowManager.dwm = { services.xserver.windowManager.dwm = {
enable = true; enable = true;
package = pkgs.dwm.overrideAttrs (oldAttrs: { package = pkgs.dwm.overrideAttrs (oldAttrs: {
patches = [ src = inputs.zdwm;
# Systray patch buildInputs = oldAttrs.buildInputs ++ [ pkgs.yajl ];
(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
];
}); });
}; };
@ -44,16 +36,33 @@ in
}; };
systemd.user.services.xrootdatetime = { systemd.user.services.xrootdatetime = {
script = '' script =
while true; do let
if [[ "$(${getExe pkgs.pamixer} --default-source --get-mute)" == "true" ]]; then pamixer = getExe pkgs.pamixer;
xsetroot = getExe pkgs.xorg.xsetroot;
in
/* bash */ ''
function update_x_root() {
set +e # allow errors
mute="$(${pamixer} --default-source --get-mute)"
set -e # disallow errors
if [[ "$mute" == "true" ]]; then
mutedString="Mic Muted " mutedString="Mic Muted "
else else
mutedString="" mutedString=""
fi fi
dateTime=$(date +"<-- %A, %B %d -- %H:%M -->") dateTime=$(date +"<-- %A, %B %d -- %H:%M -->")
${getExe pkgs.xorg.xsetroot} -name "$mutedString$dateTime" ${xsetroot} -name "$mutedString$dateTime"
sleep 1 }
trap update_x_root SIGUSR1
while true; do
sleep 1 &
wait
update_x_root
done done
''; '';
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];
@ -69,9 +78,12 @@ 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, ... }: { config, lib, pkgs, ... }:
let let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
@ -7,12 +7,39 @@ 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";
};
}; };
} }

24
modules/star-citizen.nix Normal file
View file

@ -0,0 +1,24 @@
{ 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,4 +10,5 @@ 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;
} }

44
pkgs/dwm-msg/default.nix Normal file
View file

@ -0,0 +1,44 @@
# 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,4 +1,5 @@
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: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,iv:QD0B2ymlqkSAV1wEAQyJAomxpIj+ydeikTJmVhxpxBo=,tag:zbXmhxabQwLgkPxavodHxQ==,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]
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]
@ -37,8 +38,8 @@ sops:
Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh
ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q== ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-02T05:03:22Z" lastmodified: "2024-12-09T11:49:43Z"
mac: ENC[AES256_GCM,data:5uu8UWdvE28qmxi9WnmA/3PjUcnKuP+F78xmeiK8gyJjK0Pd88wt06TMk55ey8BadYkhGRa3+F28q4gu0QqPSau+6OeffOokZg1JkAWymWcVYyW1cMAha3YiUfO+iR9/8O59XdTB6QkfO5j94NYWZLOgtzy9AxxEFJ7VbYoUuEc=,iv:WXzDvJM5zu3jrQ4jfCl+iYzZAC5UCdHR0ZhW3WLmBZA=,tag:mpZ7qv813nBgvsIfquzDYA==,type:str] mac: ENC[AES256_GCM,data:QwG57P0fKhYpPDdwgufmtv1LBMdCo0e8X2r7ja5ZDJzlTEQolhs/f5UThmmYrPC3t9BlMxK25/cmH0YRy91u51Az3hRGE8SI9NczVkr5dAeSEVws9N4WG22IYAjCmREWaGrJ10mBFoau87W0MqxhvcIy7QwNNXTrirXpNXMJk6w=,iv:A/xhsFl7Zl2iNF/NbmSP3pJNAqldf6HAqvcifIfLgME=,tag:Cg9HgW8x3Z2nUucrnpBStA==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.0 version: 3.9.1