Compare commits
115 commits
sh-initrd-
...
main
Author | SHA1 | Date | |
---|---|---|---|
97644b68c6 | |||
39ac8c80f0 | |||
39cd50f49c | |||
4ed8d17b7e | |||
3ad4ddbda4 | |||
3ec10dd505 | |||
fbae92812f | |||
45e5a8adc8 | |||
e8d79d9836 | |||
2188a37289 | |||
279a352de2 | |||
fcfb83a2da | |||
9c9d45d0c4 | |||
43a2b76c59 | |||
58545ebda8 | |||
bf5ece05bd | |||
f66f4e19c1 | |||
85659453ee | |||
3c21e459c9 | |||
8529c4650d | |||
756cfaa3a8 | |||
0f4fe1501b | |||
4e7b60fed3 | |||
d94884b7ae | |||
6a4626438b | |||
79746de69a | |||
1a78c1cf19 | |||
f5b9f5ae6b | |||
fcd5000e6a | |||
078943a122 | |||
b48fe4f845 | |||
b1534fac93 | |||
58fba557c5 | |||
a35083ff1e | |||
82d7fab51e | |||
9670caae7d | |||
ad69f97952 | |||
dde8a27a7e | |||
d35f56c603 | |||
401ccb46df | |||
f72f681337 | |||
68ae98e457 | |||
4331755ff0 | |||
1bfd862394 | |||
f3b6610f8c | |||
6249572392 | |||
8962a4990a | |||
ee109829a7 | |||
a9fb22bf86 | |||
32a5792162 | |||
7231441858 | |||
6be3082c80 | |||
d016ef7db5 | |||
a387549e91 | |||
d4cd494b5e | |||
c2869eb6aa | |||
22395f7694 | |||
d0eab78ad9 | |||
d12ac360c1 | |||
0b3bb3e92b | |||
b5e8c0774e | |||
a111c7267a | |||
58e1e4eb1e | |||
2b14985fc9 | |||
1a8afca99e | |||
edf9ae648d | |||
995abd4dcb | |||
2220e7498e | |||
535f713c79 | |||
3c87abea9d | |||
2e704b22f8 | |||
6898c0ddae | |||
54cdd90c01 | |||
f3169efb98 | |||
ea8bd429b8 | |||
ef60e8d7d9 | |||
b64f325a02 | |||
4a4ac66c83 | |||
55ec65c9e1 | |||
0f6936dbd1 | |||
ed14a86476 | |||
70ce71c36e | |||
d9e667fe37 | |||
6ece7dba5f | |||
7f5a55ba72 | |||
8aba0be0b4 | |||
dc4a69b73a | |||
4e15d8da53 | |||
ebf403819f | |||
b4fe279925 | |||
2500589ae9 | |||
e41b72eedf | |||
074a47a2bd | |||
70a093ed7a | |||
f95a2b8e0e | |||
d802105171 | |||
d35fbb68b8 | |||
227dddf2f7 | |||
4a238f0a03 | |||
8caa4f6d77 | |||
8ab25ee76f | |||
c5d34f3735 | |||
39ddd06084 | |||
58a46c793b | |||
7c27f7d51f | |||
ba2d7312b4 | |||
adc11bc50a | |||
b0c18c7c15 | |||
28573bd36d | |||
3a79f2d53a | |||
0830c161d1 | |||
7cdec173d0 | |||
9f8858fe34 | |||
3e1199a700 | |||
ff98b2da60 |
35 changed files with 1369 additions and 336 deletions
53
builders.nix
53
builders.nix
|
@ -1,4 +1,4 @@
|
|||
{ nixpkgs, self, ... }@inputs:
|
||||
{ nixpkgs, nix-darwin, self, ... }@inputs:
|
||||
|
||||
let
|
||||
makePkgs = system: (import nixpkgs {
|
||||
|
@ -8,6 +8,21 @@ let
|
|||
overlays = [
|
||||
self.overlays.default
|
||||
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.chaotic.nixosModules.default
|
||||
inputs.niri.nixosModules.niri
|
||||
inputs.lix-module.nixosModules.default
|
||||
{
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs self pkgs;
|
||||
|
@ -42,12 +56,6 @@ rec {
|
|||
}
|
||||
];
|
||||
});
|
||||
compileSystems =
|
||||
systems:
|
||||
lib.right
|
||||
builtins.listToAttrs
|
||||
(map toPartialNixosConfig)
|
||||
systems;
|
||||
|
||||
toPartialHomeManagerConfig =
|
||||
{ user, system ? "x86_64-linux", hostname ? "", configHostname ? "" }:
|
||||
|
@ -67,10 +75,35 @@ rec {
|
|||
./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:
|
||||
lib.right
|
||||
builtins.listToAttrs
|
||||
(map toPartialHomeManagerConfig)
|
||||
(map toPartialConfiguration)
|
||||
systems;
|
||||
compileNixosSystems = compileSystems toPartialNixosConfig;
|
||||
compileDarwinSystems = compileSystems toPartialDarwinConfig;
|
||||
compileHomes = compileSystems toPartialHomeManagerConfig;
|
||||
}
|
||||
|
|
383
flake.lock
383
flake.lock
|
@ -22,18 +22,17 @@
|
|||
},
|
||||
"chaotic": {
|
||||
"inputs": {
|
||||
"fenix": "fenix",
|
||||
"flake-schemas": "flake-schemas",
|
||||
"home-manager": "home-manager",
|
||||
"jovian": "jovian",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728835058,
|
||||
"narHash": "sha256-GbcJ90E8+wBkBh9C1HxBTwKsOkGU41CRaPrd1ksFPtA=",
|
||||
"lastModified": 1733677156,
|
||||
"narHash": "sha256-TSgU+M0Zm0PMnb6J/gOovC63wtqSbhgdmN7CucDO0oU=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "ec6b449d3d096a0e79db5f8c4a321ea9ec836e40",
|
||||
"rev": "354bcbbadbd00f5bda884bb2c119b7de63b197e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -46,11 +45,11 @@
|
|||
"dunst-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715462588,
|
||||
"narHash": "sha256-XoE+5kMVSjqGmpU71zsfcnZuwM9q1dXTUs//Y9nC7HQ=",
|
||||
"lastModified": 1732015406,
|
||||
"narHash": "sha256-3KAx56IGhab9fZi+WVwCpar1HkR37WV/cE10aSSLGDc=",
|
||||
"owner": "d2718nis",
|
||||
"repo": "rose-pine-dunst",
|
||||
"rev": "496499eaed38a07ce4f79ec91baaf6e1e4c28bc5",
|
||||
"rev": "449e806b7e9e266cf4bf722007ac01b60ffcec01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -59,36 +58,14 @@
|
|||
"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": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1702794161,
|
||||
"narHash": "sha256-uGtLlPvjLfrngdByjCYp9mUuZasg3Z6mGfkD1mdRs1o=",
|
||||
"lastModified": 1732816380,
|
||||
"narHash": "sha256-MeLe3T8eWd0xqq/exwz1vq7Fo+Sx4NZqyOoERNiwIos=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "75549ce64044336ed14e502f1c1ab8bf98184990",
|
||||
"revCount": 24,
|
||||
"rev": "bdb3fad8d279cd39a0b74e935e84fb641a0ea05a",
|
||||
"revCount": 29,
|
||||
"type": "git",
|
||||
"url": "https://git.zynh.me/Zynh0722/omf-theme"
|
||||
},
|
||||
|
@ -100,11 +77,11 @@
|
|||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -137,11 +114,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -159,11 +136,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712014858,
|
||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -176,11 +153,29 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"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"
|
||||
},
|
||||
"original": {
|
||||
|
@ -250,11 +245,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728778939,
|
||||
"narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=",
|
||||
"lastModified": 1733665616,
|
||||
"narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "ff68f91754be6f3427e4986d7949e6273659be1d",
|
||||
"rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -294,11 +289,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724947644,
|
||||
"narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=",
|
||||
"lastModified": 1733333617,
|
||||
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef",
|
||||
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -315,11 +310,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728337164,
|
||||
"narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=",
|
||||
"lastModified": 1733484277,
|
||||
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "038630363e7de57c36c417fd2f5d7c14773403e4",
|
||||
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -335,11 +330,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728791962,
|
||||
"narHash": "sha256-nr5QiXwQcZmf6/auC1UpX8iAtINMtdi2mH+OkqJQVmU=",
|
||||
"lastModified": 1733484277,
|
||||
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "64c6325b28ebd708653dd41d88f306023f296184",
|
||||
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -357,11 +352,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728410210,
|
||||
"narHash": "sha256-vn6qupt1U0M6Hf3eXhK3/K4Du0Z7A60qYS1G14QsRY8=",
|
||||
"lastModified": 1733491721,
|
||||
"narHash": "sha256-n4fTKTYXeGRngeanNDxSxbuWSRCQ6l74IwOBlqp8dcw=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "a25f915ec05196d15e3f7f8555ffb612d4f1045d",
|
||||
"rev": "0f415721ee427270bc078ef3a5ba2a308d47461f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -398,7 +393,7 @@
|
|||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||
"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": {
|
||||
"type": "tarball",
|
||||
|
@ -417,11 +412,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728833145,
|
||||
"narHash": "sha256-iODar05AGyn4t2N6F+LwSKCOaZDr8DMCu8AtsUvPGWw=",
|
||||
"lastModified": 1733703025,
|
||||
"narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "cff5aaed65d27c2802eb93e7cb854a7fe70f0a42",
|
||||
"rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -433,11 +428,11 @@
|
|||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728788548,
|
||||
"narHash": "sha256-UX/29CeEcbY1FsdzI4vAs23uP/iNAwRPjHtN3U0Llzs=",
|
||||
"lastModified": 1733660965,
|
||||
"narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "fb74fd2954ee4eeee566bb2fcfd480a4281f1e4a",
|
||||
"rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -448,7 +443,6 @@
|
|||
},
|
||||
"niri": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": [
|
||||
|
@ -459,11 +453,11 @@
|
|||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728829629,
|
||||
"narHash": "sha256-y3fWim/0mDCSLjvqkmylN5mmVOfvwJG9Mt+Z8qIn44U=",
|
||||
"lastModified": 1733707204,
|
||||
"narHash": "sha256-s9LQ/6ZTupaXZSs79k8NM5TAl7UKx+me0VCngGY+eIA=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "0a50b261ac5b6cdcc8eb7921a4f022c92b29d1ab",
|
||||
"rev": "269566b355c4fd98f730483035fc5fe077b91251",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -475,16 +469,16 @@
|
|||
"niri-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1726304152,
|
||||
"narHash": "sha256-4YDrKMwXGVOBkeaISbxqf24rLuHvO98TnqxWYfgiSeg=",
|
||||
"lastModified": 1731483594,
|
||||
"narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "6a48728ffb1e638839b07f9ab2f06b2adb41dc61",
|
||||
"rev": "75c79116a7e40cbc0e110ce0cdd500e896458679",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "YaLTeR",
|
||||
"ref": "v0.1.9",
|
||||
"ref": "v0.1.10.1",
|
||||
"repo": "niri",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -492,11 +486,11 @@
|
|||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728822376,
|
||||
"narHash": "sha256-HQc10OfFNie5YocsrJQCN6BOi+CZ0uuGGHGbJFXjgUI=",
|
||||
"lastModified": 1733639139,
|
||||
"narHash": "sha256-oQ7YwoK/Hhpal6URjypm+BEB3n2S8GAJQVG8sVLC0/I=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "d7156df8428cb9e6665a212e66c74bdb25842be8",
|
||||
"rev": "9824321fc9499b9987f344308a5c5c69cb9b7a77",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -505,6 +499,46 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -514,11 +548,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1690328911,
|
||||
"narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
|
||||
"lastModified": 1729697500,
|
||||
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
||||
"owner": "zhaofengli",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
|
||||
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -530,11 +564,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728492678,
|
||||
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
|
||||
"lastModified": 1733581040,
|
||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
|
||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -546,23 +580,35 @@
|
|||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1727825735,
|
||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||
"lastModified": 1733096140,
|
||||
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1728740863,
|
||||
"narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=",
|
||||
"lastModified": 1733384649,
|
||||
"narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077",
|
||||
"rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -572,29 +618,29 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1728156290,
|
||||
"narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=",
|
||||
"lastModified": 1733376361,
|
||||
"narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "17ae88b569bb15590549ff478bab6494dde4a907",
|
||||
"rev": "929116e316068c7318c54eb4d827f7d9756d5e9c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-24.05",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1728492678,
|
||||
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
|
||||
"lastModified": 1733581040,
|
||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
|
||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -629,41 +675,28 @@
|
|||
"lix-module": "lix-module",
|
||||
"neovim-overlay": "neovim-overlay",
|
||||
"niri": "niri",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"repo-clone": "repo-clone",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"umu": "umu_2",
|
||||
"zdwl": "zdwl",
|
||||
"zdwm": "zdwm"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728345710,
|
||||
"narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=",
|
||||
"lastModified": 1733128155,
|
||||
"narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=",
|
||||
"owner": "mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b",
|
||||
"rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -687,19 +720,68 @@
|
|||
"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": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1718165778,
|
||||
"narHash": "sha256-dwF9nI54a6Fo9XU5s4qmvMXSgCid3YQVGxch00qEMvI=",
|
||||
"lastModified": 1730166465,
|
||||
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "b6d281967cb0b7bf1dfdb8d0f597b517dc4aa5c5",
|
||||
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Supreeeme",
|
||||
"ref": "v0.4",
|
||||
"ref": "v0.5",
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -707,11 +789,11 @@
|
|||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1726378112,
|
||||
"narHash": "sha256-OANPb73V/RQDqtpIcbzeJ93KuOHKFQv+1xXC44Ut7tY=",
|
||||
"lastModified": 1732233710,
|
||||
"narHash": "sha256-gWf9dX6DVx0ssK2G3yrFG9yMT9UU0mDwyD51z/Q6FTA=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "b962a0f33b503aa39c9cf6919f488b664e5b79b4",
|
||||
"rev": "02f30546264ff8407cbb39528b3a3cc3045e53c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -719,6 +801,45 @@
|
|||
"repo": "xwayland-satellite",
|
||||
"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",
|
||||
|
|
18
flake.nix
18
flake.nix
|
@ -10,10 +10,16 @@
|
|||
sops-nix = { url = "github:mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
dunst-theme = { url = "github:d2718nis/rose-pine-dunst"; flake = false; };
|
||||
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";
|
||||
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; };
|
||||
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 =
|
||||
|
@ -22,18 +28,18 @@
|
|||
builders = import ./builders.nix inputs;
|
||||
in
|
||||
{
|
||||
nixosConfigurations = builders.compileSystems [
|
||||
nixosConfigurations = builders.compileNixosSystems [
|
||||
{ hostname = "snowhawk"; }
|
||||
];
|
||||
|
||||
darwinConfigurations = builders.compileDarwinSystems [
|
||||
{ hostname = "little-lightning"; }
|
||||
];
|
||||
|
||||
homeConfigurations = builders.compileHomes [
|
||||
{ user = "zynh"; hostname = "msiserver"; }
|
||||
{ user = "val"; hostname = "caveserver"; }
|
||||
{
|
||||
user = "zynh";
|
||||
hostname = "little-lightning";
|
||||
system = "aarch64-darwin";
|
||||
}
|
||||
{ user = "ravenshade"; hostname = "virtmsi"; }
|
||||
];
|
||||
|
||||
overlays.default = import ./pkgs;
|
||||
|
|
|
@ -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
|
||||
|
53
home/kitty/alacritty-colors.conf
Normal file
53
home/kitty/alacritty-colors.conf
Normal 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
54
home/kitty/rose-pine.conf
Normal 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
|
||||
|
||||
|
|
@ -9,6 +9,18 @@ in {
|
|||
xdg.mimeApps =
|
||||
let
|
||||
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 =
|
||||
value: list:
|
||||
|
@ -18,24 +30,15 @@ in {
|
|||
{
|
||||
enable = true;
|
||||
defaultApplications = lib.mkMerge [
|
||||
(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 browser browserApps)
|
||||
|
||||
(mimeAppsFor "brave-browser.desktop" [
|
||||
"x-scheme-handler/chrome"
|
||||
])
|
||||
];
|
||||
associations.added = lib.mkMerge [
|
||||
(mimeAppsFor browser browserApps)
|
||||
];
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
|
|
50
home/modules/firefox.nix
Normal file
50
home/modules/firefox.nix
Normal 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"
|
||||
'')
|
||||
];
|
||||
};
|
||||
}
|
|
@ -22,7 +22,7 @@ in
|
|||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
|
51
home/modules/kitty.nix
Normal file
51
home/modules/kitty.nix
Normal 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
19
home/modules/lutris.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
|
@ -20,7 +20,7 @@ in
|
|||
config =
|
||||
let
|
||||
nvim-treesitter = pkgs.vimPlugins.nvim-treesitter;
|
||||
treesitterWithGrammars = nvim-treesitter.withPlugins (_: nvim-treesitter.allGrammars);
|
||||
treesitterWithGrammars = nvim-treesitter.withAllGrammars;
|
||||
|
||||
treesitter-parsers = pkgs.symlinkJoin {
|
||||
name = "treesitter-parsers";
|
||||
|
@ -61,6 +61,12 @@ in
|
|||
rustup
|
||||
lua-language-server
|
||||
fzf
|
||||
stylua
|
||||
taplo
|
||||
gnumake
|
||||
zig
|
||||
clang-tools
|
||||
coreutils
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -44,6 +44,28 @@ let
|
|||
.output()
|
||||
.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
|
||||
|
|
|
@ -14,12 +14,5 @@ in
|
|||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.user.startServices = "sd-switch";
|
||||
|
||||
repo-clone = {
|
||||
enable = true;
|
||||
repos = {
|
||||
"${config.home.homeDirectory}/Pictures/backgrounds".url = lib.zgitRepo "backgrounds";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -29,8 +29,13 @@ in
|
|||
port = 2221;
|
||||
identityFile = keyPathIfSops "personal_git";
|
||||
};
|
||||
"github.com" = {
|
||||
hostname = "github.com";
|
||||
user = "git";
|
||||
identityFile = keyPathIfSops "github";
|
||||
};
|
||||
snowhawk = {
|
||||
hostname = "192.168.0.21";
|
||||
hostname = "192.168.0.22";
|
||||
user = "ravenshade";
|
||||
proxyJump = "zynh@msiserver";
|
||||
identityFile = keyPathIfSops "snowhawk";
|
||||
|
@ -56,6 +61,7 @@ in
|
|||
"private_keys/caveserver" = { };
|
||||
"private_keys/snowhawk" = { };
|
||||
"private_keys/personal_git" = { };
|
||||
"private_keys/github" = { };
|
||||
|
||||
"ssh_hosts/caveserver".path = "${sshDir}/conf.d/caveserver_config";
|
||||
};
|
||||
|
|
|
@ -15,6 +15,8 @@ in
|
|||
programs.tmux = {
|
||||
enable = true;
|
||||
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;
|
||||
baseIndex = 1;
|
||||
terminal = "screen-256color";
|
||||
|
|
33
home/modules/wezterm.nix
Normal file
33
home/modules/wezterm.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
50
home/wezterm/modules/colors.lua
Normal file
50
home/wezterm/modules/colors.lua
Normal 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
|
49
home/wezterm/modules/init.lua
Normal file
49
home/wezterm/modules/init.lua
Normal 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
|
53
home/wezterm/modules/navigator.lua
Normal file
53
home/wezterm/modules/navigator.lua
Normal 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
|
52
home/wezterm/modules/sessionizer.lua
Normal file
52
home/wezterm/modules/sessionizer.lua
Normal 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
|
195
hosts/little-lightning/configuration.nix
Normal file
195
hosts/little-lightning/configuration.nix
Normal 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;
|
||||
}
|
|
@ -5,16 +5,9 @@
|
|||
../../home/modules
|
||||
];
|
||||
|
||||
nix = {
|
||||
package = pkgs.nix;
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
};
|
||||
|
||||
snowhawk = {
|
||||
alacritty.enable = true;
|
||||
alacritty.enable = false;
|
||||
kitty.enable = true;
|
||||
macos.enable = true;
|
||||
sources.enable = true;
|
||||
projects.enable = true;
|
||||
|
@ -24,6 +17,34 @@
|
|||
};
|
||||
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"
|
||||
# '';
|
||||
|
||||
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 = {
|
||||
|
@ -38,7 +59,12 @@
|
|||
home.packages = with pkgs; [
|
||||
nix-output-monitor
|
||||
(writeShellScriptBin "rebuild" ''
|
||||
home-manager switch --flake ~/nixos#zynh@little-lightning |& nom
|
||||
darwin-rebuild switch --flake ~/nixos#little-lightning |& nom
|
||||
'')
|
||||
|
||||
(writeShellScriptBin "restart-skhd" ''
|
||||
launchctl stop org.nixos.skhd
|
||||
launchctl start org.nixos.skhd
|
||||
'')
|
||||
|
||||
wakeonlan
|
||||
|
|
|
@ -5,9 +5,16 @@
|
|||
../../home/modules
|
||||
];
|
||||
|
||||
nix = {
|
||||
package = pkgs.nix;
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
};
|
||||
|
||||
snowhawk.neovim = {
|
||||
enable = true;
|
||||
package = inputs.neovim-overlay.packages.${pkgs.system}.default;
|
||||
};
|
||||
snowhawk.ssh.enable = true;
|
||||
snowhawk.sops.enable = true;
|
||||
|
@ -20,6 +27,8 @@
|
|||
home-manager switch -v |& nom
|
||||
'')
|
||||
|
||||
pkgs.nix
|
||||
|
||||
go
|
||||
wakeonlan
|
||||
];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running `nixos-help`).
|
||||
|
||||
{ pkgs, inputs, lib, ... }:
|
||||
{ pkgs, inputs, lib, config, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
|
@ -19,13 +19,32 @@
|
|||
})
|
||||
];
|
||||
|
||||
specialisation = {
|
||||
dwl.configuration = {
|
||||
snowhawk.dwl.enable = true;
|
||||
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 = {
|
||||
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 = {
|
||||
filesystem.enable = true;
|
||||
|
@ -34,6 +53,7 @@
|
|||
syncthing.enable = true;
|
||||
user.enable = true;
|
||||
wake-on-lan.enable = true;
|
||||
star-citizen.enable = true;
|
||||
};
|
||||
|
||||
# Enable automatic login for the user.
|
||||
|
@ -42,6 +62,12 @@
|
|||
user = "ravenshade";
|
||||
};
|
||||
|
||||
documentation = {
|
||||
enable = true;
|
||||
dev.enable = true;
|
||||
man.enable = true;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
users = { "ravenshade" = import ./home.nix; };
|
||||
backupFileExtension = "backup";
|
||||
|
@ -54,11 +80,11 @@
|
|||
git
|
||||
killall
|
||||
|
||||
godot_4-mono
|
||||
linux-manual
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
|
@ -66,6 +92,20 @@
|
|||
|
||||
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
|
||||
qt.platformTheme = "gtk2";
|
||||
|
||||
|
|
|
@ -48,8 +48,8 @@ in
|
|||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/efi" = {
|
||||
device = "/dev/disk/by-uuid/1A0A-CEB2";
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/0499-9841";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
|
@ -129,19 +129,22 @@ in
|
|||
swapDevices = [ ];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader = {
|
||||
grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
useOSProber = true;
|
||||
device = "nodev";
|
||||
theme = pkgs.rose-pine-grub;
|
||||
};
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/efi";
|
||||
};
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
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;
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, ... }:
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
|
@ -7,16 +7,18 @@
|
|||
|
||||
snowhawk = {
|
||||
# Desktop
|
||||
firefox.enable = true;
|
||||
dunst.enable = true;
|
||||
theme.enable = true;
|
||||
redshift.enable = true;
|
||||
flameshot.enable = true;
|
||||
playerctl.enable = true;
|
||||
alacritty.enable = true;
|
||||
kitty.enable = true;
|
||||
defaultPrograms.enable = true;
|
||||
pipewire-controller.enable = true;
|
||||
|
||||
# Games
|
||||
lutris.enable = true;
|
||||
xivlauncher.enable = true;
|
||||
|
||||
# Term Tools
|
||||
|
@ -39,6 +41,7 @@
|
|||
apps = {
|
||||
github.url = "https://github.com";
|
||||
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";
|
||||
slack_nh.urlFile = config.sops.secrets."app_urls/nh_slack".path;
|
||||
};
|
||||
|
@ -49,7 +52,34 @@
|
|||
homeNetwork = true;
|
||||
};
|
||||
|
||||
repo-clone.repos = {
|
||||
"${config.home.homeDirectory}/Pictures/backgrounds".url = lib.zgitRepo "backgrounds";
|
||||
};
|
||||
|
||||
snowhawk.tmux.sessionizer.paths = [
|
||||
"~/obsidian"
|
||||
];
|
||||
|
||||
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
|
||||
unzip
|
||||
fzf
|
||||
|
@ -58,8 +88,7 @@
|
|||
gparted
|
||||
arandr
|
||||
|
||||
brave
|
||||
firefox
|
||||
bear
|
||||
|
||||
spotify
|
||||
vesktop
|
||||
|
@ -68,20 +97,22 @@
|
|||
'')
|
||||
|
||||
steam-run
|
||||
brave
|
||||
|
||||
nix-output-monitor
|
||||
(writeShellScriptBin "rebuild" ''
|
||||
nixos-rebuild switch --log-format internal-json -v $@ |& nom --json
|
||||
'')
|
||||
|
||||
(writeShellScriptBin "alt-firefox" ''
|
||||
${lib.getExe pkgs.firefox} -P "alt"
|
||||
'')
|
||||
|
||||
(writeShellScriptBin "suspend" ''
|
||||
systemctl suspend
|
||||
'')
|
||||
|
||||
(writeShellScriptBin "reboot-windows" ''
|
||||
sudo ${pkgs.grub2}/bin/grub-reboot "Windows Boot Manager (on /dev/nvme0n1p1)"
|
||||
sudo reboot
|
||||
'')
|
||||
|
||||
feh
|
||||
imagemagick
|
||||
uhk-agent
|
||||
|
@ -103,6 +134,11 @@
|
|||
|
||||
pcmanfm
|
||||
geeqie
|
||||
|
||||
jq
|
||||
|
||||
eww
|
||||
dwm-msg
|
||||
];
|
||||
|
||||
programs.nix-index.enable = true;
|
||||
|
|
40
hosts/virtmsi/home.nix
Normal file
40
hosts/virtmsi/home.nix
Normal 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";
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.snowhawk.dwl;
|
||||
|
@ -9,7 +9,7 @@ in
|
|||
|
||||
package = lib.mkOption {
|
||||
type = with lib.types; package;
|
||||
default = pkgs.dwl;
|
||||
default = inputs.zdwl.packages."x86_64-linux".default;
|
||||
apply = p: p.overrideAttrs {
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/wayland-sessions
|
||||
|
@ -23,8 +23,16 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
services.graphical-desktop.enable = lib.mkDefault true;
|
||||
|
||||
services.displayManager.sessionPackages = [ cfg.package ];
|
||||
services.displayManager.defaultSession = "dwl";
|
||||
services.displayManager = {
|
||||
enable = true;
|
||||
sessionPackages = [ cfg.package ];
|
||||
defaultSession = "dwl";
|
||||
# TODO: greetd?
|
||||
sddm = {
|
||||
enable = lib.mkDefault true;
|
||||
wayland.enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
security = {
|
||||
polkit.enable = lib.mkDefault true;
|
||||
|
@ -32,7 +40,7 @@ in
|
|||
# pam.services.swaylock = { };
|
||||
};
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
programs = {
|
||||
dconf.enable = lib.mkDefault true;
|
||||
|
@ -42,6 +50,7 @@ in
|
|||
xdg.portal.wlr.enable = lib.mkDefault true;
|
||||
xdg.portal.extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
];
|
||||
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
|
||||
|
@ -50,9 +59,11 @@ in
|
|||
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(flameshot.override { enableWlrSupport = true; })
|
||||
|
||||
wl-clipboard
|
||||
wmenu
|
||||
foot
|
||||
kitty
|
||||
cfg.package
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ lib, config, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (pkgs) fetchpatch;
|
||||
inherit (lib) getExe;
|
||||
|
||||
cfg = config.snowhawk.dwm;
|
||||
|
@ -26,15 +25,8 @@ in
|
|||
services.xserver.windowManager.dwm = {
|
||||
enable = true;
|
||||
package = pkgs.dwm.overrideAttrs (oldAttrs: {
|
||||
patches = [
|
||||
# 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
|
||||
];
|
||||
src = inputs.zdwm;
|
||||
buildInputs = oldAttrs.buildInputs ++ [ pkgs.yajl ];
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -44,18 +36,35 @@ in
|
|||
};
|
||||
|
||||
systemd.user.services.xrootdatetime = {
|
||||
script = ''
|
||||
while true; do
|
||||
if [[ "$(${getExe pkgs.pamixer} --default-source --get-mute)" == "true" ]]; then
|
||||
mutedString="Mic Muted "
|
||||
else
|
||||
mutedString=""
|
||||
fi
|
||||
dateTime=$(date +"<-- %A, %B %d -- %H:%M -->")
|
||||
${getExe pkgs.xorg.xsetroot} -name "$mutedString$dateTime"
|
||||
sleep 1
|
||||
done
|
||||
'';
|
||||
script =
|
||||
let
|
||||
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 "
|
||||
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" ];
|
||||
after = [ "pipewire.service" ];
|
||||
serviceConfig.Restart = "on-failure";
|
||||
|
@ -69,9 +78,12 @@ in
|
|||
partOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
environment.variables.FREETYPE_PROPERTIES = "cff:no-stem-darkening=0 autofitter:no-stem-darkening=0";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
dmenu
|
||||
xclip
|
||||
flameshot
|
||||
];
|
||||
|
||||
home-manager.sharedModules = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
@ -7,12 +7,39 @@ in
|
|||
{
|
||||
options.snowhawk.dwm = {
|
||||
enable = mkEnableOption "niri home-manager module";
|
||||
|
||||
useXFixes = mkEnableOption "using unclutter-xfixes instead of unclutter";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# WM Stuff
|
||||
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
24
modules/star-citizen.nix
Normal 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";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
|
@ -10,4 +10,5 @@ in
|
|||
borderlessBrowser = callDefaultPackage ./borderlessBrowser;
|
||||
zenBrowser = callDefaultPackage ./zenBrowser;
|
||||
rose-pine-grub = callDefaultPackage ./rosePineGrub;
|
||||
dwm-msg = callDefaultPackage ./dwm-msg;
|
||||
}
|
||||
|
|
44
pkgs/dwm-msg/default.nix
Normal file
44
pkgs/dwm-msg/default.nix
Normal 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";
|
||||
};
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
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]
|
||||
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]
|
||||
|
@ -37,8 +38,8 @@ sops:
|
|||
Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh
|
||||
ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-10-02T05:03:22Z"
|
||||
mac: ENC[AES256_GCM,data:5uu8UWdvE28qmxi9WnmA/3PjUcnKuP+F78xmeiK8gyJjK0Pd88wt06TMk55ey8BadYkhGRa3+F28q4gu0QqPSau+6OeffOokZg1JkAWymWcVYyW1cMAha3YiUfO+iR9/8O59XdTB6QkfO5j94NYWZLOgtzy9AxxEFJ7VbYoUuEc=,iv:WXzDvJM5zu3jrQ4jfCl+iYzZAC5UCdHR0ZhW3WLmBZA=,tag:mpZ7qv813nBgvsIfquzDYA==,type:str]
|
||||
lastmodified: "2024-12-09T11:49:43Z"
|
||||
mac: ENC[AES256_GCM,data:QwG57P0fKhYpPDdwgufmtv1LBMdCo0e8X2r7ja5ZDJzlTEQolhs/f5UThmmYrPC3t9BlMxK25/cmH0YRy91u51Az3hRGE8SI9NczVkr5dAeSEVws9N4WG22IYAjCmREWaGrJ10mBFoau87W0MqxhvcIy7QwNNXTrirXpNXMJk6w=,iv:A/xhsFl7Zl2iNF/NbmSP3pJNAqldf6HAqvcifIfLgME=,tag:Cg9HgW8x3Z2nUucrnpBStA==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.0
|
||||
version: 3.9.1
|
||||
|
|
Loading…
Reference in a new issue