Compare commits
6 commits
ff6b65c5ca
...
e94dee0c7f
| Author | SHA1 | Date | |
|---|---|---|---|
| e94dee0c7f | |||
| 11c79bbe01 | |||
| 3ba65b99e1 | |||
| f2bdc564db | |||
| db447c785d | |||
| 03d5d219e8 |
27 changed files with 1383 additions and 155 deletions
|
|
@ -1,11 +1,2 @@
|
||||||
{
|
{
|
||||||
"languages": {
|
|
||||||
"Nix": {
|
|
||||||
"formatter": {
|
|
||||||
"external": {
|
|
||||||
"command": "alejandra"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
22
README.md
22
README.md
|
|
@ -14,23 +14,23 @@ Hey, you. This is my nixos configurations.
|
||||||
|
|
||||||
- david@Tytonidae
|
- david@Tytonidae
|
||||||
|
|
||||||
| Specialisation | DE / WM | Shell | Editor | Terminal | Launcher | Browser | DM |
|
| Specialisation | DE / WM | Shell | Editor | Terminal | Launcher | Browser | DM |
|
||||||
| -------------- | --------- | ----------- | ------ | -------- | --------------- | ------- | -------------- |
|
| -------------- | --------- | ----------- | ----------- | -------- | --------------- | ------- | ---------------- |
|
||||||
| default | niri | fish + bash | helix | ghostty | fuzzel | firefox | gdm |
|
| default | niri | fish + bash | helix + zed | ghostty | fuzzel | firefox | greetd + regreet |
|
||||||
| cosmic | cosmic de | fish + bash | helix | ghostty | cosmic-launcher | firefox | cosmic-greeter |
|
| cosmic | cosmic de | fish + bash | helix + zed | ghostty | cosmic-launcher | firefox | cosmic-greeter |
|
||||||
| kde | kde | fish + bash | helix | ghostty | - | firefox | sddm |
|
| kde | kde | fish + bash | helix + zed | ghostty | - | firefox | sddm |
|
||||||
|
|
||||||
- david@Akun
|
- david@Akun
|
||||||
|
|
||||||
| Specialisation | DE / WM | Shell | Editor | Terminal | Launcher | Browser | DM |
|
| Specialisation | DE / WM | Shell | Editor | Terminal | Launcher | Browser | DM |
|
||||||
| -------------- | ------- | ----------- | ------ | -------- | -------- | ------- | -------------- |
|
| -------------- | ------- | ----------- | ----------- | -------- | -------- | ------- | ---------------- |
|
||||||
| default | cosmic | fish + bash | helix | ghostty | - | firefox | cosmic-greeter |
|
| default | niri | fish + bash | helix + zed | ghostty | - | firefox | greetd + regreet |
|
||||||
|
|
||||||
- alice@Cape
|
- alice@Cape
|
||||||
|
|
||||||
| Specialisation | DE / WM | Shell | Editor | Terminal | Launcher | Browser | DM |
|
| Specialisation | DE / WM | Shell | Editor | Terminal | Launcher | Browser | DM |
|
||||||
| -------------- | ------- | ----------- | ------ | -------- | -------- | ------- | --- |
|
| -------------- | ------- | ----------- | ------ | -------- | -------- | ------- | -- |
|
||||||
| default | - | fish + bash | helix | - | - | - | - |
|
| default | - | fish + bash | helix | - | - | - | - |
|
||||||
|
|
||||||
## FlakE OutputS and StructurE
|
## FlakE OutputS and StructurE
|
||||||
|
|
||||||
|
|
|
||||||
120
flake.lock
generated
120
flake.lock
generated
|
|
@ -90,11 +90,11 @@
|
||||||
"bt-tracker": {
|
"bt-tracker": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745971833,
|
"lastModified": 1746144670,
|
||||||
"narHash": "sha256-Hmt7smJEB2aKw3XW02Vzgr0bTULpM1CtSy1MTecmIxs=",
|
"narHash": "sha256-l1Roga5tbx5775OQDD34lQAntmlU56A3HKqJrK86P2I=",
|
||||||
"owner": "XIU2",
|
"owner": "XIU2",
|
||||||
"repo": "TrackersListCollection",
|
"repo": "TrackersListCollection",
|
||||||
"rev": "10919722f131dbac0413cdbd385ff0b634d3d7fe",
|
"rev": "0a9ac8d11e9e67649edf33b378190e17ce1e7e9e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -113,11 +113,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741008028,
|
"lastModified": 1746104585,
|
||||||
"narHash": "sha256-Dypah+fVZ30hCRG96hu1Vmi0DHQSv6XKfy8S6kiS2CQ=",
|
"narHash": "sha256-wfrNTYEx5ZfTvUKquiBc+hW44wg3VrPPMcPLnQ0q7bY=",
|
||||||
"owner": "daeuniverse",
|
"owner": "daeuniverse",
|
||||||
"repo": "flake.nix",
|
"repo": "flake.nix",
|
||||||
"rev": "2d2ea1661c89efc9c12781572b95f4bb700f2a4a",
|
"rev": "44f8089999107b0bfe4b7cf909f56d8da67ec951",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -352,11 +352,11 @@
|
||||||
"zon2nix": "zon2nix"
|
"zon2nix": "zon2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745971585,
|
"lastModified": 1746118269,
|
||||||
"narHash": "sha256-v8QVD+V7CCVZ+QHk2mdT2X3U9FIe2vEoOVsgnQBjZ5I=",
|
"narHash": "sha256-nWCxF4Fl53yaJzxlHVDkDZNrWGsrYk9f5ondtMa+S04=",
|
||||||
"owner": "ghostty-org",
|
"owner": "ghostty-org",
|
||||||
"repo": "ghostty",
|
"repo": "ghostty",
|
||||||
"rev": "b3edc88010e38946072a58fe336081ed104c9d44",
|
"rev": "e79bf71f2322fa5d54af07f2985f8460290f2085",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -441,11 +441,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745933300,
|
"lastModified": 1746132885,
|
||||||
"narHash": "sha256-BJpxqZar6vrmv1MtZIjmBa7x+0HEP8kmYeFejz7m2uc=",
|
"narHash": "sha256-naxkk3EcVXP8gPeG/mQq2i37ITvAZs1AKw7K7u5DXuE=",
|
||||||
"owner": "helix-editor",
|
"owner": "helix-editor",
|
||||||
"repo": "helix",
|
"repo": "helix",
|
||||||
"rev": "1c32fb2d4df3f06f96ca33db7d9f9b15297c7f8d",
|
"rev": "aa3fad84ef136b482eb5f84abbf109f25af9700a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -462,11 +462,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745987135,
|
"lastModified": 1746134275,
|
||||||
"narHash": "sha256-8Up4QPuMZEJBU0eefAY+nUe7DYKQQzvaHnMpNdwRgKA=",
|
"narHash": "sha256-sxfY7TIP59o2hcueanoRAtg833PiNroZkQDwlKJxGvs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d2b3e6c83d457aa0e7f9344c61c3fed32bad0f7e",
|
"rev": "015f1913109d44c36e683b55f0e47e283b383caa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -486,11 +486,11 @@
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745943971,
|
"lastModified": 1746133891,
|
||||||
"narHash": "sha256-syIS3vBo7DX/cP49bfZPYmw3vhMCmyrnD6HiUlOAvx8=",
|
"narHash": "sha256-ZZVz8ZPa+T9/pKt3khNKZ79dya5qWX1nMhJ1D46vpE8=",
|
||||||
"owner": "jj-vcs",
|
"owner": "jj-vcs",
|
||||||
"repo": "jj",
|
"repo": "jj",
|
||||||
"rev": "3ab9e098d778969a91d46290615c436ab41d71f9",
|
"rev": "0eceed9832d53b8e870123c88d1c1f0514fb061b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -550,11 +550,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745965399,
|
"lastModified": 1746142190,
|
||||||
"narHash": "sha256-RxoK/Eo9cWGtGMl3enYu/LH/SAcFGR2PWuAifQm4dUc=",
|
"narHash": "sha256-t36K3TWLMRWoGyjYyo+H8bBquDcp4orZqNZVagWNjwY=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "bc29338ba733e4c1b94c3ed134baabfea587627e",
|
"rev": "af701c1c16c289b1b14f333d844b4f756308d244",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -583,11 +583,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745913113,
|
"lastModified": 1746124654,
|
||||||
"narHash": "sha256-/Iph65fWHox7tVyfzw0+AGyCqL2FGuHSt+xjFUsxbOk=",
|
"narHash": "sha256-LmhkAt2KLvf8lp+kEUQuTFmmv7iXO8IkwwSaPasfXJw=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "5f117c61dc4dd91564e02b32836e98dd0e648246",
|
"rev": "6c9705dd4b2eaba25f024d1a3efd7943fd393632",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -604,11 +604,11 @@
|
||||||
"rust-overlay": "rust-overlay_3"
|
"rust-overlay": "rust-overlay_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745924915,
|
"lastModified": 1746109800,
|
||||||
"narHash": "sha256-RuMUtaplJkaAtqkdG1+cD3trqmO2ykKqfK+3+HXPUVA=",
|
"narHash": "sha256-sjDpqdvbQaiA6OAsgLE4niz6hmmCpoUH0cl5zyfu6FI=",
|
||||||
"owner": "lilyinstarlight",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "nixos-cosmic",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "329a9d639f0418cce05937a823f43b2b64191653",
|
"rev": "9fe1aa7b6a1043003b38f36626dd29b52247d720",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -635,11 +635,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745794561,
|
"lastModified": 1745930157,
|
||||||
"narHash": "sha256-T36rUZHUART00h3dW4sV5tv4MrXKT7aWjNfHiZz7OHg=",
|
"narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5461b7fa65f3ca74cef60be837fd559a8918eaa0",
|
"rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -682,11 +682,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745868005,
|
"lastModified": 1746055187,
|
||||||
"narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=",
|
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "330d0a4167924b43f31cc9406df363f71b768a02",
|
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -698,11 +698,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_3": {
|
"nixpkgs-stable_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745742390,
|
"lastModified": 1746055187,
|
||||||
"narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=",
|
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "26245db0cb552047418cfcef9a25da91b222d6c7",
|
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -714,11 +714,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745930157,
|
"lastModified": 1746064326,
|
||||||
"narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
|
"narHash": "sha256-r7IZkN9NhK/IO9/J6D9ih2P1OXb67nr5HaQ1YAte18w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
|
"rev": "91bf6dffa21c7709607c9fdbf9a6acb44e7a0a5d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -738,11 +738,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745459908,
|
"lastModified": 1746056780,
|
||||||
"narHash": "sha256-bWqgohVf/py9EW3bLS/dYbenD2p9N2/Qsw1+CJk1S04=",
|
"narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "dbc4ba3233b2bf951521177bf0ee0a7679959035",
|
"rev": "d476cd0972dd6242d76374fcc277e6735715c167",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -754,11 +754,11 @@
|
||||||
"nur-rycee": {
|
"nur-rycee": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745752599,
|
"lastModified": 1746158597,
|
||||||
"narHash": "sha256-vX5uq4wv7FeNeeFtsTPXQ9n2hd92NFXI+u9sg1K8OhA=",
|
"narHash": "sha256-IugPXmlzFdAMxeqACtd40yLslezVDxUqPvpEn5LWcp4=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "0388c30f59e860307b2ef0ba93f38d2e525a153e",
|
"rev": "47711ca43fc3f91fa566038cd2681812c6c3252d",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -768,23 +768,6 @@
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oskars-dotfiles": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1743338345,
|
|
||||||
"narHash": "sha256-7eOm26Y7nybMFe6uNbw4yPFgMd+CLyZyByXvpAvqmUo=",
|
|
||||||
"owner": "oskardotglobal",
|
|
||||||
"repo": ".dotfiles",
|
|
||||||
"rev": "182de5a67cd6fd30a9450d6bb7d5dd4d41272c5f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "oskardotglobal",
|
|
||||||
"ref": "nix",
|
|
||||||
"repo": ".dotfiles",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"betterfox-nix": "betterfox-nix",
|
"betterfox-nix": "betterfox-nix",
|
||||||
|
|
@ -804,7 +787,6 @@
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nur-rycee": "nur-rycee",
|
"nur-rycee": "nur-rycee",
|
||||||
"oskars-dotfiles": "oskars-dotfiles",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
|
|
@ -859,11 +841,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745894113,
|
"lastModified": 1746067100,
|
||||||
"narHash": "sha256-dxO3caQZMv/pMtcuXdi+SnAtyki6HFbSf1IpgQPXZYc=",
|
"narHash": "sha256-6JeEbboDvRjLwB9kzCnmWj+f+ZnMtKOe5c2F1VBpaTs=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "e552fe1b16ffafd678ebe061c22b117e050769ed",
|
"rev": "026e8fedefd6b167d92ed04b195c658d95ffc7a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -920,11 +902,11 @@
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745962538,
|
"lastModified": 1746158690,
|
||||||
"narHash": "sha256-UmQxI4ocPZUVHuxtaQN3zNNBU8KLK9x2gXl2kWUhMKY=",
|
"narHash": "sha256-Pe2emz36QL8GOILXvvmH/agqkspZFrcOrQxv6uufaEc=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "764fd32955e79f2742a7975f0150175f93add2fb",
|
"rev": "bc38629511dd9cc78c5ca37a6e546fa66330d50e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -35,14 +35,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
oskars-dotfiles = {
|
|
||||||
type = "github";
|
|
||||||
owner = "oskardotglobal";
|
|
||||||
repo = ".dotfiles";
|
|
||||||
ref = "nix";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
betterfox-nix = {
|
betterfox-nix = {
|
||||||
type = "github";
|
type = "github";
|
||||||
owner = "HeitorAugustoLN";
|
owner = "HeitorAugustoLN";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@
|
||||||
rootPath,
|
rootPath,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
imports = [
|
||||||
|
./niri.nix
|
||||||
|
];
|
||||||
youthlic = {
|
youthlic = {
|
||||||
xdg-dirs.enable = true;
|
xdg-dirs.enable = true;
|
||||||
programs = let
|
programs = let
|
||||||
|
|
@ -46,7 +49,6 @@
|
||||||
accounts.email.enable = true;
|
accounts.email.enable = true;
|
||||||
programs = {
|
programs = {
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
niri.enable = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
21
home/david/configurations/Akun/niri.nix
Normal file
21
home/david/configurations/Akun/niri.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{inputs, ...}: let
|
||||||
|
inherit (inputs.niri-flake.lib.kdl) node leaf plain flag;
|
||||||
|
in {
|
||||||
|
david.programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = let
|
||||||
|
output = node "output";
|
||||||
|
in [
|
||||||
|
(output "eDP-1" [
|
||||||
|
(leaf "mode" "1920x1200@60.018")
|
||||||
|
(leaf "scale" 1.0)
|
||||||
|
(flag "focus-at-startup")
|
||||||
|
(leaf "position" {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
})
|
||||||
|
(leaf "transform" "normal")
|
||||||
|
])
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
unixName,
|
unixName,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
imports = [
|
||||||
|
./niri.nix
|
||||||
|
];
|
||||||
youthlic = {
|
youthlic = {
|
||||||
xdg-dirs.enable = true;
|
xdg-dirs.enable = true;
|
||||||
programs = let
|
programs = let
|
||||||
|
|
@ -49,7 +52,6 @@
|
||||||
wallpaper.enable = true;
|
wallpaper.enable = true;
|
||||||
accounts.email.enable = true;
|
accounts.email.enable = true;
|
||||||
programs = {
|
programs = {
|
||||||
niri.enable = true;
|
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
58
home/david/configurations/Tytonidae/niri.nix
Normal file
58
home/david/configurations/Tytonidae/niri.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{inputs, ...}: let
|
||||||
|
inherit (inputs.niri-flake.lib.kdl) node leaf plain flag;
|
||||||
|
in {
|
||||||
|
david.programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = let
|
||||||
|
output = node "output";
|
||||||
|
in [
|
||||||
|
(output "DP-1" [
|
||||||
|
(leaf "mode" "2560x1440@169.900")
|
||||||
|
(leaf "scale" 1.0)
|
||||||
|
(leaf "position" {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
})
|
||||||
|
(leaf "transform" "normal")
|
||||||
|
(flag "focus-at-startup")
|
||||||
|
])
|
||||||
|
(output "eDP-1" [
|
||||||
|
(leaf "mode" "2560x1440@165.003")
|
||||||
|
(leaf "scale" 1.5)
|
||||||
|
(leaf "position" {
|
||||||
|
x = 2560;
|
||||||
|
y = 0;
|
||||||
|
})
|
||||||
|
(leaf "transform" "normal")
|
||||||
|
])
|
||||||
|
];
|
||||||
|
# settings = {
|
||||||
|
# outputs = {
|
||||||
|
# DP-1 = {
|
||||||
|
# mode = {
|
||||||
|
# width = 2560;
|
||||||
|
# height = 1440;
|
||||||
|
# refresh = 169.900;
|
||||||
|
# };
|
||||||
|
# scale = 1;
|
||||||
|
# position = {
|
||||||
|
# x = 0;
|
||||||
|
# y = 0;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# eDP-1 = {
|
||||||
|
# mode = {
|
||||||
|
# width = 2560;
|
||||||
|
# height = 1440;
|
||||||
|
# refresh = 165.003;
|
||||||
|
# };
|
||||||
|
# scale = 1.5;
|
||||||
|
# position = {
|
||||||
|
# x = 2560;
|
||||||
|
# y = 0;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
561
home/david/modules/programs/niri/config.nix
Normal file
561
home/david/modules/programs/niri/config.nix
Normal file
|
|
@ -0,0 +1,561 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) getExe getExe';
|
||||||
|
inherit
|
||||||
|
(inputs.niri-flake.lib.kdl)
|
||||||
|
# node with args, props and children
|
||||||
|
# node:: \lambda name -> [argOrProp] -> [child] -> Output
|
||||||
|
# arg: single value
|
||||||
|
# prop: attr contains one or more key-value pair
|
||||||
|
# children: node
|
||||||
|
node
|
||||||
|
# node without children
|
||||||
|
# leaf:: \lambda name -> [argOrProp] -> Output
|
||||||
|
leaf
|
||||||
|
# node only name
|
||||||
|
# flag:: \lambda name -> Output
|
||||||
|
flag
|
||||||
|
# node without args/props
|
||||||
|
# plain:: \lambda name -> [child] -> Output
|
||||||
|
plain
|
||||||
|
;
|
||||||
|
|
||||||
|
DISPLAY = ":1";
|
||||||
|
|
||||||
|
bash = getExe config.programs.bash.package;
|
||||||
|
swaylock = getExe config.programs.swaylock.package;
|
||||||
|
fuzzel = getExe config.programs.fuzzel.package;
|
||||||
|
waybar = getExe config.programs.waybar.package;
|
||||||
|
swaync = getExe config.services.swaync.package;
|
||||||
|
fcitx5 = getExe' osConfig.i18n.inputMethod.package "fcitx5";
|
||||||
|
|
||||||
|
polkit-kde-agent = getExe' pkgs.kdePackages.polkit-kde-agent-1 "polkit-kde-agent";
|
||||||
|
wpctl = getExe' pkgs.wireplumber "wpctl";
|
||||||
|
swaybg = getExe pkgs.swaybg;
|
||||||
|
xwayland-satellite = getExe pkgs.xwayland-satellite;
|
||||||
|
ghostty = getExe config.programs.ghostty.package;
|
||||||
|
wl-paste = getExe' pkgs.wl-clipboard "wl-paste";
|
||||||
|
wl-copy = getExe' pkgs.wl-clipboard "wl-copy";
|
||||||
|
cliphist = getExe' pkgs.cliphist "cliphist";
|
||||||
|
in
|
||||||
|
(
|
||||||
|
let
|
||||||
|
spawn = leaf "spawn";
|
||||||
|
in [
|
||||||
|
(plain "binds" [
|
||||||
|
(plain "Mod+V" [
|
||||||
|
(spawn [bash "-c" "${cliphist} list | ${fuzzel} --dmenu | ${cliphist} decode | ${wl-copy}"])
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+P" [
|
||||||
|
(spawn [swaylock "--screenshots" "--clock" "--indicator" "--indicator-radius" "100" "--indicator-thickness" "7" "--effect-blur" "7x5" "--effect-vignette" "0.5:0.5" "--grace" "2" "--fade-in" "0.5"])
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Slash" [
|
||||||
|
(flag "show-hotkey-overlay")
|
||||||
|
])
|
||||||
|
(plain "Mod+T" [
|
||||||
|
(spawn [
|
||||||
|
ghostty
|
||||||
|
])
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+T" [
|
||||||
|
(flag "toggle-column-tabbed-display")
|
||||||
|
])
|
||||||
|
(plain "Mod+Space" [
|
||||||
|
(spawn fuzzel)
|
||||||
|
])
|
||||||
|
(node "XF86AudioRaiseVolume" {allow-when-locked = true;} [
|
||||||
|
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"])
|
||||||
|
])
|
||||||
|
(node "XF86AudioLowerVolume" {allow-when-locked = true;} [
|
||||||
|
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"])
|
||||||
|
])
|
||||||
|
(node "XF86AudioMute" {allow-when-locked = true;} [
|
||||||
|
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "toggle"])
|
||||||
|
])
|
||||||
|
(node "XF86AudioMicMute" {allow-when-locked = true;} [
|
||||||
|
(spawn [wpctl "set-volume" "@DEFAULT_AUDIO_SOURCE@" "toggle"])
|
||||||
|
])
|
||||||
|
(plain "Mod+Q" [
|
||||||
|
(flag "close-window")
|
||||||
|
])
|
||||||
|
(node "Mod+O" {repeat = false;} [
|
||||||
|
(flag "toggle-overview")
|
||||||
|
])
|
||||||
|
(plain "Mod+Left" [
|
||||||
|
(flag "focus-column-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Down" [
|
||||||
|
(flag "focus-window-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Up" [
|
||||||
|
(flag "focus-window-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Right" [
|
||||||
|
(flag "focus-column-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+H" [
|
||||||
|
(flag "focus-column-or-monitor-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+J" [
|
||||||
|
(flag "focus-window-or-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+K" [
|
||||||
|
(flag "focus-window-or-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+L" [
|
||||||
|
(flag "focus-column-or-monitor-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Left" [
|
||||||
|
(flag "move-column-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Down" [
|
||||||
|
(flag "move-window-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Up" [
|
||||||
|
(flag "move-window-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Right" [
|
||||||
|
(flag "move-column-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+H" [
|
||||||
|
(flag "move-column-left-or-to-monitor-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+J" [
|
||||||
|
(flag "move-window-down-or-to-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+K" [
|
||||||
|
(flag "move-window-up-or-to-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+L" [
|
||||||
|
(flag "move-column-right-or-to-monitor-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Home" [
|
||||||
|
(flag "focus-column-first")
|
||||||
|
])
|
||||||
|
(plain "Mod+End" [
|
||||||
|
(flag "focus-column-last")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Home" [
|
||||||
|
(flag "move-column-to-first")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+End" [
|
||||||
|
(flag "move-column-to-last")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Left" [
|
||||||
|
(flag "focus-monitor-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Down" [
|
||||||
|
(flag "focus-monitor-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Up" [
|
||||||
|
(flag "focus-monitor-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Right" [
|
||||||
|
(flag "focus-monitor-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+H" [
|
||||||
|
(flag "focus-monitor-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+J" [
|
||||||
|
(flag "focus-monitor-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+K" [
|
||||||
|
(flag "focus-monitor-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+L" [
|
||||||
|
(flag "focus-monitor-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+Left" [
|
||||||
|
(flag "move-column-to-monitor-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+Down" [
|
||||||
|
(flag "move-column-to-monitor-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+Up" [
|
||||||
|
(flag "move-column-to-monitor-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+Right" [
|
||||||
|
(flag "move-column-to-monitor-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+H" [
|
||||||
|
(flag "move-column-to-monitor-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+J" [
|
||||||
|
(flag "move-column-to-monitor-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+K" [
|
||||||
|
(flag "move-column-to-monitor-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+L" [
|
||||||
|
(flag "move-column-to-monitor-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Page_Down" [
|
||||||
|
(flag "focus-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Page_Up" [
|
||||||
|
(flag "focus-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+U" [
|
||||||
|
(flag "focus-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+I" [
|
||||||
|
(flag "focus-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Page_Down" [
|
||||||
|
(flag "move-column-to-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Page_Up" [
|
||||||
|
(flag "move-column-to-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+U" [
|
||||||
|
(flag "move-column-to-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+I" [
|
||||||
|
(flag "move-column-to-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Page_Down" [
|
||||||
|
(flag "move-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+Page_Up" [
|
||||||
|
(flag "move-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+U" [
|
||||||
|
(flag "move-workspace-down")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+I" [
|
||||||
|
(flag "move-workspace-up")
|
||||||
|
])
|
||||||
|
(node "Mod+Shift+WheelScrollDown" {cooldown-ms = 150;} [
|
||||||
|
(flag "focus-workspace-down")
|
||||||
|
])
|
||||||
|
(node "Mod+Shift+WheelScrollUp" {cooldown-ms = 150;} [
|
||||||
|
(flag "focus-workspace-up")
|
||||||
|
])
|
||||||
|
(plain "Mod+WheelScrollDown" [
|
||||||
|
(flag "focus-column-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+WheelScrollUp" [
|
||||||
|
(flag "focus-column-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+1" [
|
||||||
|
(leaf "focus-workspace" 1)
|
||||||
|
])
|
||||||
|
(plain "Mod+2" [
|
||||||
|
(leaf "focus-workspace" 2)
|
||||||
|
])
|
||||||
|
(plain "Mod+3" [
|
||||||
|
(leaf "focus-workspace" 3)
|
||||||
|
])
|
||||||
|
(plain "Mod+4" [
|
||||||
|
(leaf "focus-workspace" 4)
|
||||||
|
])
|
||||||
|
(plain "Mod+5" [
|
||||||
|
(leaf "focus-workspace" 5)
|
||||||
|
])
|
||||||
|
(plain "Mod+6" [
|
||||||
|
(leaf "focus-workspace" 6)
|
||||||
|
])
|
||||||
|
(plain "Mod+7" [
|
||||||
|
(leaf "focus-workspace" 7)
|
||||||
|
])
|
||||||
|
(plain "Mod+8" [
|
||||||
|
(leaf "focus-workspace" 8)
|
||||||
|
])
|
||||||
|
(plain "Mod+9" [
|
||||||
|
(leaf "focus-workspace" 9)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+1" [
|
||||||
|
(leaf "move-column-to-workspace" 1)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+2" [
|
||||||
|
(leaf "move-column-to-workspace" 2)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+3" [
|
||||||
|
(leaf "move-column-to-workspace" 3)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+4" [
|
||||||
|
(leaf "move-column-to-workspace" 4)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+5" [
|
||||||
|
(leaf "move-column-to-workspace" 5)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+6" [
|
||||||
|
(leaf "move-column-to-workspace" 6)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+7" [
|
||||||
|
(leaf "move-column-to-workspace" 7)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+8" [
|
||||||
|
(leaf "move-column-to-workspace" 8)
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+9" [
|
||||||
|
(leaf "move-column-to-workspace" 9)
|
||||||
|
])
|
||||||
|
(plain "Mod+F" [
|
||||||
|
(flag "toggle-window-floating")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+F" [
|
||||||
|
(flag "toggle-windowed-fullscreen")
|
||||||
|
])
|
||||||
|
(plain "Mod+Tab" [
|
||||||
|
(flag "focus-window-previous")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Tab" [
|
||||||
|
(flag "switch-focus-between-floating-and-tiling")
|
||||||
|
])
|
||||||
|
(plain "Mod+BracketLeft" [
|
||||||
|
(flag "consume-or-expel-window-left")
|
||||||
|
])
|
||||||
|
(plain "Mod+BracketRight" [
|
||||||
|
(flag "consume-or-expel-window-right")
|
||||||
|
])
|
||||||
|
(plain "Mod+Comma" [
|
||||||
|
(flag "consume-window-into-column")
|
||||||
|
])
|
||||||
|
(plain "Mod+Period" [
|
||||||
|
(flag "expel-window-from-column")
|
||||||
|
])
|
||||||
|
(plain "Mod+R" [
|
||||||
|
(flag "switch-preset-column-width")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+R" [
|
||||||
|
(flag "switch-preset-window-height")
|
||||||
|
])
|
||||||
|
(plain "Mod+Ctrl+R" [
|
||||||
|
(flag "reset-window-height")
|
||||||
|
])
|
||||||
|
(plain "Mod+M" [
|
||||||
|
(flag "maximize-column")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+M" [
|
||||||
|
(flag "fullscreen-window")
|
||||||
|
])
|
||||||
|
(plain "Mod+Z" [
|
||||||
|
(flag "center-column")
|
||||||
|
])
|
||||||
|
(plain "Mod+Minus" [
|
||||||
|
(leaf "set-column-width" "-10%")
|
||||||
|
])
|
||||||
|
(plain "Mod+Equal" [
|
||||||
|
(leaf "set-column-width" "+10%")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Minus" [
|
||||||
|
(leaf "set-window-height" "-10%")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Equal" [
|
||||||
|
(leaf "set-window-height" "+10%")
|
||||||
|
])
|
||||||
|
(plain "Print" [
|
||||||
|
(flag "screenshot")
|
||||||
|
])
|
||||||
|
(plain "Ctrl+Print" [
|
||||||
|
(flag "screenshot-screen")
|
||||||
|
])
|
||||||
|
(plain "Alt+Print" [
|
||||||
|
(flag "screenshot-window")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Q" [
|
||||||
|
(flag "quit")
|
||||||
|
])
|
||||||
|
(plain "Mod+E" [
|
||||||
|
(flag "expand-column-to-available-width")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+S" [
|
||||||
|
(flag "toggle-keyboard-shortcuts-inhibit")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+C" [
|
||||||
|
(flag "set-dynamic-cast-window")
|
||||||
|
])
|
||||||
|
(plain "Mod+Shift+Ctrl+C" [
|
||||||
|
(flag "clear-dynamic-cast-target")
|
||||||
|
])
|
||||||
|
])
|
||||||
|
] # binds
|
||||||
|
)
|
||||||
|
++ (
|
||||||
|
let
|
||||||
|
spawn-at-startup = leaf "spawn-at-startup";
|
||||||
|
in [
|
||||||
|
(leaf "screenshot-path" "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png")
|
||||||
|
(plain "hotkey-overlay" [
|
||||||
|
(flag "skip-at-startup")
|
||||||
|
])
|
||||||
|
(flag "prefer-no-csd")
|
||||||
|
(spawn-at-startup [waybar])
|
||||||
|
(spawn-at-startup [swaync])
|
||||||
|
(spawn-at-startup [swaybg "-i" "${config.home.homeDirectory}/wallpaper/01.png"])
|
||||||
|
(spawn-at-startup [fcitx5 "-d" "--replace"])
|
||||||
|
(spawn-at-startup [xwayland-satellite DISPLAY])
|
||||||
|
(spawn-at-startup [polkit-kde-agent])
|
||||||
|
(spawn-at-startup [wl-paste "--watch" cliphist "store"])
|
||||||
|
(plain "input" [
|
||||||
|
(plain "touchpad" [
|
||||||
|
(leaf "click-method" "clickfinger")
|
||||||
|
(flag "dwt")
|
||||||
|
(leaf "scroll-method" "two-finger")
|
||||||
|
(leaf "tap-button-map" "left-right-middle")
|
||||||
|
])
|
||||||
|
])
|
||||||
|
(plain "cursor" [
|
||||||
|
(leaf "hide-after-inactive-ms" 3000)
|
||||||
|
(flag "hide-when-typing")
|
||||||
|
])
|
||||||
|
(plain "layout" [
|
||||||
|
(plain "border" [
|
||||||
|
(leaf "width" 4)
|
||||||
|
(leaf "active-color" "#7fc8ff")
|
||||||
|
(leaf "inactive-color" "#505050")
|
||||||
|
])
|
||||||
|
(plain "focus-ring" [
|
||||||
|
(flag "off")
|
||||||
|
(leaf "width" 4)
|
||||||
|
(leaf "active-color" "#7fc8ff")
|
||||||
|
(leaf "inactive-color" "#505050")
|
||||||
|
])
|
||||||
|
(plain "tab-indicator" [
|
||||||
|
(flag "hide-when-single-tab")
|
||||||
|
])
|
||||||
|
(plain "preset-column-widths" [
|
||||||
|
(leaf "proportion" (1. / 4.))
|
||||||
|
(leaf "proportion" (1. / 3.))
|
||||||
|
(leaf "proportion" (1. / 2.))
|
||||||
|
(leaf "proportion" (2. / 3.))
|
||||||
|
(leaf "proportion" (3. / 4.))
|
||||||
|
(leaf "proportion" (4. / 4.))
|
||||||
|
])
|
||||||
|
(flag "always-center-single-column")
|
||||||
|
(leaf "center-focused-column" "never")
|
||||||
|
(leaf "default-column-display" "tabbed")
|
||||||
|
(plain "default-column-width" [
|
||||||
|
(leaf "proportion" (1. / 2.))
|
||||||
|
])
|
||||||
|
(flag "empty-workspace-above-first")
|
||||||
|
(leaf "gaps" 16)
|
||||||
|
])
|
||||||
|
(plain "animations" [
|
||||||
|
(plain "window-close" [
|
||||||
|
(leaf "spring" {
|
||||||
|
damping-ratio = 1.0;
|
||||||
|
stiffness = 800;
|
||||||
|
epsilon = 0.0001;
|
||||||
|
})
|
||||||
|
])
|
||||||
|
])
|
||||||
|
(plain "environment" [
|
||||||
|
(leaf "DISPLAY" DISPLAY)
|
||||||
|
])
|
||||||
|
] # others
|
||||||
|
)
|
||||||
|
++ (
|
||||||
|
let
|
||||||
|
window-rule = plain "window-rule";
|
||||||
|
match = leaf "match";
|
||||||
|
in [
|
||||||
|
(window-rule [
|
||||||
|
(leaf "draw-border-with-background" true)
|
||||||
|
(leaf "geometry-corner-radius" 12.0)
|
||||||
|
(leaf "clip-to-geometry" true)
|
||||||
|
])
|
||||||
|
(window-rule [
|
||||||
|
(match {app-id = "^showmethekey-gtk$";})
|
||||||
|
(leaf "geometry-corner-radius" 0.0)
|
||||||
|
(leaf "clip-to-geometry" false)
|
||||||
|
(leaf "open-floating" true)
|
||||||
|
(leaf "open-focused" false)
|
||||||
|
(plain "default-column-width" [
|
||||||
|
(leaf "fixed" 300)
|
||||||
|
])
|
||||||
|
(plain "default-window-height" [
|
||||||
|
(leaf "fixed" 70)
|
||||||
|
])
|
||||||
|
(leaf "draw-border-with-background" true)
|
||||||
|
(leaf "default-floating-position" {
|
||||||
|
relative-to = "bottom-right";
|
||||||
|
x = 20;
|
||||||
|
y = 20;
|
||||||
|
})
|
||||||
|
(plain "focus-ring" [
|
||||||
|
(flag "off")
|
||||||
|
])
|
||||||
|
(plain "border" [
|
||||||
|
(flag "off")
|
||||||
|
])
|
||||||
|
(plain "shadow" [
|
||||||
|
(flag "off")
|
||||||
|
])
|
||||||
|
(leaf "baba-is-float" true)
|
||||||
|
(leaf "tiled-state" false)
|
||||||
|
])
|
||||||
|
(window-rule [
|
||||||
|
(match {app-id = "^org\\.keepassxc\\.KeePassXC$";})
|
||||||
|
(match {app-id = "^org\\.gnome\\.World\\.Secrets$";})
|
||||||
|
(leaf "block-out-from" "screen-capture")
|
||||||
|
])
|
||||||
|
(window-rule [
|
||||||
|
(match {
|
||||||
|
app-id = "^com\\.mitchellh\\.ghostty$";
|
||||||
|
is-active = true;
|
||||||
|
})
|
||||||
|
(leaf "draw-border-with-background" false)
|
||||||
|
])
|
||||||
|
(window-rule [
|
||||||
|
(match {
|
||||||
|
app-id = "^com\\.mitchellh\\.ghostty$";
|
||||||
|
is-active = false;
|
||||||
|
})
|
||||||
|
(leaf "opacity" 0.8)
|
||||||
|
(leaf "draw-border-with-background" false)
|
||||||
|
])
|
||||||
|
(window-rule [
|
||||||
|
(match {is-window-cast-target = true;})
|
||||||
|
(plain "focus-ring" [
|
||||||
|
(leaf "active-color" "#f38ba8")
|
||||||
|
(leaf "inactive-color" "#7d0d2d")
|
||||||
|
])
|
||||||
|
(plain "border" [
|
||||||
|
(leaf "active-color" "#f38ba8")
|
||||||
|
(leaf "inactive-color" "#7d0d2d")
|
||||||
|
])
|
||||||
|
(plain "tab-indicator" [
|
||||||
|
(leaf "active-color" "#f38ba8")
|
||||||
|
(leaf "inactive-color" "#7d0d2d")
|
||||||
|
])
|
||||||
|
(plain "shadow" [
|
||||||
|
(flag "on")
|
||||||
|
])
|
||||||
|
])
|
||||||
|
(window-rule [
|
||||||
|
(match {
|
||||||
|
app-id = "^org\\.telegram\\.desktop$";
|
||||||
|
title = "Media viewer";
|
||||||
|
})
|
||||||
|
(leaf "open-floating" true)
|
||||||
|
(leaf "open-fullscreen" false)
|
||||||
|
])
|
||||||
|
] # window-rule
|
||||||
|
)
|
||||||
|
++ (
|
||||||
|
let
|
||||||
|
layer-rule = plain "layer-rule";
|
||||||
|
match = leaf "match";
|
||||||
|
in [
|
||||||
|
(layer-rule [
|
||||||
|
(match {namespace = "^swaync-notification-window$";})
|
||||||
|
(match {namespace = "^swaync-control-center$";})
|
||||||
|
(leaf "block-out-from" "screen-capture")
|
||||||
|
])
|
||||||
|
(layer-rule [
|
||||||
|
(match {namespace = "^launcher$";})
|
||||||
|
(plain "shadow" [
|
||||||
|
(flag "on")
|
||||||
|
])
|
||||||
|
(leaf "geometry-corner-radius" 10.0)
|
||||||
|
])
|
||||||
|
] # layer-rule
|
||||||
|
)
|
||||||
|
|
@ -1,19 +1,25 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
} @ args: let
|
||||||
cfg = config.david.programs.niri;
|
cfg = config.david.programs.niri;
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
david.programs.niri = {
|
david.programs.niri = {
|
||||||
enable = lib.mkEnableOption "niri";
|
enable = lib.mkEnableOption "niri";
|
||||||
|
extraConfig = lib.mkOption {
|
||||||
|
type = inputs.niri-flake.lib.kdl.types.kdl-document;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
youthlic.programs.niri = {
|
youthlic.programs.niri = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = ./config.kdl;
|
# settings = lib.mkMerge [(import ./settings.nix args) cfg.settings];
|
||||||
|
config = (lib.toList (import ./config.nix args)) ++ (lib.toList cfg.extraConfig);
|
||||||
};
|
};
|
||||||
david.programs.wluma.enable = true;
|
david.programs.wluma.enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
402
home/david/modules/programs/niri/settings.nix
Normal file
402
home/david/modules/programs/niri/settings.nix
Normal file
|
|
@ -0,0 +1,402 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) getExe getExe';
|
||||||
|
DISPLAY = ":1";
|
||||||
|
bash = getExe pkgs.bash;
|
||||||
|
swaylock = getExe pkgs.swaylock-effects;
|
||||||
|
fuzzel = getExe pkgs.fuzzel;
|
||||||
|
wpctl = getExe' pkgs.wireplumber "wpctl";
|
||||||
|
waybar = getExe pkgs.waybar;
|
||||||
|
swaync = getExe pkgs.swaynotificationcenter;
|
||||||
|
swaybg = getExe pkgs.swaybg;
|
||||||
|
fcitx5 = getExe' osConfig.i18n.inputMethod.package "fcitx5";
|
||||||
|
xwayland-satellite = getExe pkgs.xwayland-satellite;
|
||||||
|
polkit-kde-agent = getExe' pkgs.kdePackages.polkit-kde-agent-1 "polkit-kde-agent";
|
||||||
|
wl-paste = getExe' pkgs.wl-clipboard "wl-paste";
|
||||||
|
wl-copy = getExe' pkgs.wl-clipboard "wl-copy";
|
||||||
|
cliphist = getExe' pkgs.cliphist "cliphist";
|
||||||
|
ghostty = getExe pkgs.ghostty;
|
||||||
|
in {
|
||||||
|
binds = let
|
||||||
|
inherit (config.lib.niri.actions) spawn show-hotkey-overlay toggle-column-tabbed-display close-window toggle-overview focus-column-left focus-window-down focus-window-up focus-column-right focus-column-or-monitor-left focus-window-or-workspace-down focus-window-or-workspace-up focus-column-or-monitor-right move-column-left move-window-down move-window-up move-column-right move-column-left-or-to-monitor-left move-window-down-or-to-workspace-down move-window-up-or-to-workspace-up move-column-right-or-to-monitor-right focus-column-first focus-column-last move-column-to-first move-column-to-last focus-monitor-left focus-monitor-down focus-monitor-up focus-monitor-right move-column-to-monitor-left move-column-to-monitor-down move-column-to-monitor-up move-column-to-monitor-right focus-workspace-up focus-workspace-down move-column-to-workspace-down move-column-to-workspace-up move-workspace-down move-workspace-up focus-workspace move-column-to-workspace toggle-window-floating toggle-windowed-fullscreen focus-window-previous switch-focus-between-floating-and-tiling consume-or-expel-window-left consume-or-expel-window-right consume-window-into-column expel-window-from-column switch-preset-column-width switch-preset-window-height reset-window-height maximize-column fullscreen-window center-column set-column-width set-window-height screenshot screenshot-window quit expand-column-to-available-width toggle-keyboard-shortcuts-inhibit set-dynamic-cast-window clear-dynamic-cast-target;
|
||||||
|
in {
|
||||||
|
"Mod+V".action = spawn bash "-c" "${cliphist} list | ${fuzzel} --dmenu | ${cliphist} decode | ${wl-copy}";
|
||||||
|
"Mod+Shift+P".action = spawn swaylock "--screenshots" "--clock" "--indicator" "--indicator-radius" "100" "--indicator-thickness" "7" "--effect-blur" "7x5" "--effect-vignette" "0.5:0.5" "--grace" "2" "--fade-in" "0.5";
|
||||||
|
"Mod+Shift+Slash".action = show-hotkey-overlay;
|
||||||
|
"Mod+T".action = spawn ghostty;
|
||||||
|
"Mod+Shift+T".action = toggle-column-tabbed-display;
|
||||||
|
"Mod+Space".action = spawn fuzzel;
|
||||||
|
XF86AudioRaiseVolume = {
|
||||||
|
action = spawn wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+";
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
XF86AudioLowerVolume = {
|
||||||
|
action = spawn wpctl "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-";
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
XF86AudioMute = {
|
||||||
|
action = spawn wpctl "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle";
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
XF86AudioMicMute = {
|
||||||
|
action = spawn wpctl "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
"Mod+Q".action = close-window;
|
||||||
|
"Mod+O".action = toggle-overview;
|
||||||
|
"Mod+Left".action = focus-column-left;
|
||||||
|
"Mod+Down".action = focus-window-down;
|
||||||
|
"Mod+Up".action = focus-window-up;
|
||||||
|
"Mod+Right".action = focus-column-right;
|
||||||
|
"Mod+H".action = focus-column-or-monitor-left;
|
||||||
|
"Mod+J".action = focus-window-or-workspace-down;
|
||||||
|
"Mod+K".action = focus-window-or-workspace-up;
|
||||||
|
"Mod+L".action = focus-column-or-monitor-right;
|
||||||
|
"Mod+Shift+Left".action = move-column-left;
|
||||||
|
"Mod+Shift+Down".action = move-window-down;
|
||||||
|
"Mod+Shift+Up".action = move-window-up;
|
||||||
|
"Mod+Shift+Right".action = move-column-right;
|
||||||
|
"Mod+Shift+H".action = move-column-left-or-to-monitor-left;
|
||||||
|
"Mod+Shift+J".action = move-window-down-or-to-workspace-down;
|
||||||
|
"Mod+Shift+K".action = move-window-up-or-to-workspace-up;
|
||||||
|
"Mod+Shift+L".action = move-column-right-or-to-monitor-right;
|
||||||
|
"Mod+Home".action = focus-column-first;
|
||||||
|
"Mod+End".action = focus-column-last;
|
||||||
|
"Mod+Ctrl+Home".action = move-column-to-first;
|
||||||
|
"Mod+Ctrl+End".action = move-column-to-last;
|
||||||
|
"Mod+Ctrl+Left".action = focus-monitor-left;
|
||||||
|
"Mod+Ctrl+Down".action = focus-monitor-down;
|
||||||
|
"Mod+Ctrl+Up".action = focus-monitor-up;
|
||||||
|
"Mod+Ctrl+Right".action = focus-monitor-right;
|
||||||
|
"Mod+Ctrl+H".action = focus-monitor-left;
|
||||||
|
"Mod+Ctrl+J".action = focus-monitor-down;
|
||||||
|
"Mod+Ctrl+K".action = focus-monitor-up;
|
||||||
|
"Mod+Ctrl+L".action = focus-monitor-right;
|
||||||
|
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
|
||||||
|
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
|
||||||
|
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
|
||||||
|
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
|
||||||
|
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
|
||||||
|
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
|
||||||
|
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
|
||||||
|
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
|
||||||
|
"Mod+Page_Down".action = focus-workspace-down;
|
||||||
|
"Mod+Page_Up".action = focus-workspace-up;
|
||||||
|
"Mod+U".action = focus-workspace-down;
|
||||||
|
"Mod+I".action = focus-workspace-up;
|
||||||
|
"Mod+Shift+Page_Down".action = move-column-to-workspace-down;
|
||||||
|
"Mod+Shift+Page_Up".action = move-column-to-workspace-up;
|
||||||
|
"Mod+Shift+U".action = move-column-to-workspace-down;
|
||||||
|
"Mod+Shift+I".action = move-column-to-workspace-up;
|
||||||
|
"Mod+Ctrl+Page_Down".action = move-workspace-down;
|
||||||
|
"Mod+Ctrl+Page_Up".action = move-workspace-up;
|
||||||
|
"Mod+Ctrl+U".action = move-workspace-down;
|
||||||
|
"Mod+Ctrl+I".action = move-workspace-up;
|
||||||
|
"Mod+Shift+WheelScrollDown" = {
|
||||||
|
action = focus-workspace-down;
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
"Mod+Shift+WheelScrollUp" = {
|
||||||
|
action = focus-workspace-up;
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
"Mod+WheelScrollDown".action = focus-column-right;
|
||||||
|
"Mod+WheelScrollUp".action = focus-column-left;
|
||||||
|
"Mod+1".action = focus-workspace 1;
|
||||||
|
"Mod+2".action = focus-workspace 2;
|
||||||
|
"Mod+3".action = focus-workspace 3;
|
||||||
|
"Mod+4".action = focus-workspace 4;
|
||||||
|
"Mod+5".action = focus-workspace 5;
|
||||||
|
"Mod+6".action = focus-workspace 6;
|
||||||
|
"Mod+7".action = focus-workspace 7;
|
||||||
|
"Mod+8".action = focus-workspace 8;
|
||||||
|
"Mod+9".action = focus-workspace 9;
|
||||||
|
"Mod+Shift+1".action = move-column-to-workspace 1;
|
||||||
|
"Mod+Shift+2".action = move-column-to-workspace 2;
|
||||||
|
"Mod+Shift+3".action = move-column-to-workspace 3;
|
||||||
|
"Mod+Shift+4".action = move-column-to-workspace 4;
|
||||||
|
"Mod+Shift+5".action = move-column-to-workspace 5;
|
||||||
|
"Mod+Shift+6".action = move-column-to-workspace 6;
|
||||||
|
"Mod+Shift+7".action = move-column-to-workspace 7;
|
||||||
|
"Mod+Shift+8".action = move-column-to-workspace 8;
|
||||||
|
"Mod+Shift+9".action = move-column-to-workspace 9;
|
||||||
|
"Mod+F".action = toggle-window-floating;
|
||||||
|
"Mod+Shift+F".action = toggle-windowed-fullscreen;
|
||||||
|
"Mod+Tab".action = focus-window-previous;
|
||||||
|
"Mod+Shift+Tab".action = switch-focus-between-floating-and-tiling;
|
||||||
|
"Mod+BracketLeft".action = consume-or-expel-window-left;
|
||||||
|
"Mod+BracketRight".action = consume-or-expel-window-right;
|
||||||
|
"Mod+Comma".action = consume-window-into-column;
|
||||||
|
"Mod+Period".action = expel-window-from-column;
|
||||||
|
"Mod+R".action = switch-preset-column-width;
|
||||||
|
"Mod+Shift+R".action = switch-preset-window-height;
|
||||||
|
"Mod+Ctrl+R".action = reset-window-height;
|
||||||
|
"Mod+M".action = maximize-column;
|
||||||
|
"Mod+Shift+M".action = fullscreen-window;
|
||||||
|
"Mod+Z".action = center-column;
|
||||||
|
"Mod+Minus".action = set-column-width "-10%";
|
||||||
|
"Mod+Equal".action = set-column-width "+10%";
|
||||||
|
"Mod+Shift+Minus".action = set-window-height "-10%";
|
||||||
|
"Mod+Shift+Equal".action = set-window-height "+10%";
|
||||||
|
"Print".action = screenshot;
|
||||||
|
# since niri add another parameter for the variant, the regex can not parse the action
|
||||||
|
# [Track] https://github.com/sodiboo/niri-flake/issues/922
|
||||||
|
"Ctrl+Print".action.screenshot-screen = [];
|
||||||
|
"Alt+Print".action = screenshot-window;
|
||||||
|
"Mod+Shift+Q".action = quit;
|
||||||
|
"Mod+E".action = expand-column-to-available-width;
|
||||||
|
"Mod+Shift+S".action = toggle-keyboard-shortcuts-inhibit;
|
||||||
|
"Mod+Shift+C".action = set-dynamic-cast-window;
|
||||||
|
"Mod+Shift+Ctrl+C".action = clear-dynamic-cast-target;
|
||||||
|
};
|
||||||
|
screenshot-path = "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png";
|
||||||
|
hotkey-overlay.skip-at-startup = true;
|
||||||
|
prefer-no-csd = true;
|
||||||
|
spawn-at-startup = [
|
||||||
|
{
|
||||||
|
command = [waybar];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = [swaync];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = [swaybg "-i" "${config.home.homeDirectory}/wallpaper/01.png"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = [fcitx5 "-d" "--replace"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = [xwayland-satellite DISPLAY];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = [polkit-kde-agent];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = [wl-paste "--watch" cliphist "store"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
input = {
|
||||||
|
touchpad = {
|
||||||
|
click-method = "clickfinger";
|
||||||
|
dwt = true;
|
||||||
|
scroll-method = "two-finger";
|
||||||
|
tap-button-map = "left-right-middle";
|
||||||
|
};
|
||||||
|
warp-mouse-to-focus = true;
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
hide-after-inactive-ms = 3000;
|
||||||
|
hide-when-typing = true;
|
||||||
|
};
|
||||||
|
layout = {
|
||||||
|
border = {
|
||||||
|
enable = true;
|
||||||
|
width = 4;
|
||||||
|
active = {
|
||||||
|
color = "#7fc8ff";
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
color = "#505050";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
focus-ring = {
|
||||||
|
enable = false;
|
||||||
|
width = 4;
|
||||||
|
active = {
|
||||||
|
color = "#7fc8ff";
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
color = "#505050";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
preset-column-widths = [
|
||||||
|
{
|
||||||
|
proportion = 1. / 4.;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
proportion = 1. / 3.;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
proportion = 1. / 2.;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
proportion = 2. / 3.;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
proportion = 3. / 4.;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
proportion = 4. / 4.;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
always-center-single-column = true;
|
||||||
|
center-focused-column = "never";
|
||||||
|
default-column-display = "tabbed";
|
||||||
|
default-column-width = {
|
||||||
|
proportion = 1. / 2.;
|
||||||
|
};
|
||||||
|
empty-workspace-above-first = true;
|
||||||
|
gaps = 16;
|
||||||
|
};
|
||||||
|
animations = {
|
||||||
|
enable = true;
|
||||||
|
window-close = {
|
||||||
|
spring = {
|
||||||
|
damping-ratio = 1.0;
|
||||||
|
stiffness = 800;
|
||||||
|
epsilon = 0.0001;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
environment = {
|
||||||
|
inherit DISPLAY;
|
||||||
|
};
|
||||||
|
window-rules = [
|
||||||
|
{
|
||||||
|
draw-border-with-background = true;
|
||||||
|
geometry-corner-radius = {
|
||||||
|
bottom-left = 12.;
|
||||||
|
bottom-right = 12.;
|
||||||
|
top-left = 12.;
|
||||||
|
top-right = 12.;
|
||||||
|
};
|
||||||
|
clip-to-geometry = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "^showmethekey-gtk$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
geometry-corner-radius = {
|
||||||
|
bottom-left = 0.0;
|
||||||
|
bottom-right = 0.0;
|
||||||
|
top-left = 0.0;
|
||||||
|
top-right = 0.0;
|
||||||
|
};
|
||||||
|
clip-to-geometry = false;
|
||||||
|
open-floating = true;
|
||||||
|
open-focused = false;
|
||||||
|
default-column-width = {
|
||||||
|
fixed = 300;
|
||||||
|
};
|
||||||
|
default-window-height = {
|
||||||
|
fixed = 70;
|
||||||
|
};
|
||||||
|
draw-border-with-background = false;
|
||||||
|
default-floating-position = {
|
||||||
|
relative-to = "bottom-right";
|
||||||
|
x = 20;
|
||||||
|
y = 20;
|
||||||
|
};
|
||||||
|
focus-ring.enable = false;
|
||||||
|
border.enable = false;
|
||||||
|
shadow.enable = false;
|
||||||
|
baba-is-float = true;
|
||||||
|
# tiled-state = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "^org\\.keepassxc\\.KeePassXC$";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "^org\\.gnome\\.World\\.Secrets$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
block-out-from = "screen-capture";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "^com\\.mitchellh\\.ghostty$";
|
||||||
|
is-active = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
draw-border-with-background = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "^com\\.mitchellh\\.ghostty$";
|
||||||
|
is-active = false;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
opacity = 0.8;
|
||||||
|
draw-border-with-background = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
is-window-cast-target = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
focus-ring = {
|
||||||
|
active = {
|
||||||
|
color = "#f38ba8";
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
color = "#7d0d2d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
active = {
|
||||||
|
color = "#f38ba8";
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
color = "#7d0d2d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tab-indicator = {
|
||||||
|
active = {
|
||||||
|
color = "#f38ba8";
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
color = "#7d0d2d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
shadow.enable = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "^org\\.telegram\\.desktop$";
|
||||||
|
title = "Media viewer";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
open-floating = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
layer-rules = [
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
namespace = "^swaync-notification-window$";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
namespace = "^swaync-control-center$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
block-out-from = "screen-capture";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
namespace = "^launcher$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
shadow.enable = true;
|
||||||
|
geometry-corner-radius = {
|
||||||
|
top-left = 10.;
|
||||||
|
top-right = 10.;
|
||||||
|
bottom-left = 10.;
|
||||||
|
bottom-right = 10.;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
osConfig ? null,
|
osConfig ? null,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.youthlic.programs.niri;
|
cfg = config.youthlic.programs.niri;
|
||||||
|
|
@ -11,12 +12,11 @@ in {
|
||||||
options = {
|
options = {
|
||||||
youthlic.programs.niri = {
|
youthlic.programs.niri = {
|
||||||
enable = lib.mkEnableOption "niri";
|
enable = lib.mkEnableOption "niri";
|
||||||
|
# settings = lib.mkOption {
|
||||||
|
# type = lib.types.attrs;
|
||||||
|
# };
|
||||||
config = lib.mkOption {
|
config = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = inputs.niri-flake.lib.kdl.types.kdl-document;
|
||||||
example = ./config.kdl;
|
|
||||||
description = ''
|
|
||||||
the pach to config.kdl
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -66,7 +66,8 @@ in {
|
||||||
swaylock.enable = true;
|
swaylock.enable = true;
|
||||||
};
|
};
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
config = builtins.readFile cfg.config;
|
# settings = cfg.settings;
|
||||||
|
config = cfg.config;
|
||||||
package = niri;
|
package = niri;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -16,29 +16,86 @@ in {
|
||||||
programs.zed-editor = {
|
programs.zed-editor = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensions = [
|
extensions = [
|
||||||
"nix"
|
"asciidoc"
|
||||||
"html"
|
"basher"
|
||||||
"java"
|
"cargo-tom"
|
||||||
"git-firely"
|
"codebook"
|
||||||
"make"
|
|
||||||
"deno"
|
"deno"
|
||||||
"java-eclipse-jdtlS"
|
"docker-compose"
|
||||||
"neocMake"
|
"dockerfile"
|
||||||
"typst"
|
"fish"
|
||||||
"toml"
|
"git-firefly"
|
||||||
|
"golangci-lint"
|
||||||
|
"haskell"
|
||||||
|
"html"
|
||||||
|
"hurl"
|
||||||
|
"idris2"
|
||||||
|
"java"
|
||||||
|
"java-eclipse-jdtls"
|
||||||
|
"kdl"
|
||||||
|
"kotlin"
|
||||||
|
"lua"
|
||||||
|
"make"
|
||||||
"markdown-oxide"
|
"markdown-oxide"
|
||||||
|
"neocmake"
|
||||||
|
"nix"
|
||||||
|
"python-refactoring"
|
||||||
|
"python-requirements"
|
||||||
|
"scheme"
|
||||||
|
"toml"
|
||||||
|
"typst"
|
||||||
|
"xml"
|
||||||
|
"zig"
|
||||||
];
|
];
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
nixd
|
idris2Packages.idris2Lsp
|
||||||
nil
|
lua-language-server
|
||||||
neocmakelsp
|
bash-language-server
|
||||||
deno
|
shfmt
|
||||||
jdt-language-server
|
hurl
|
||||||
|
cmake-language-server
|
||||||
|
kdlfmt
|
||||||
|
rustfmt
|
||||||
|
clang-tools
|
||||||
|
libxml2
|
||||||
|
typstyle
|
||||||
|
pyright
|
||||||
|
ruff
|
||||||
|
gotools
|
||||||
|
yaml-language-server
|
||||||
taplo
|
taplo
|
||||||
alejandra
|
|
||||||
markdown-oxide
|
markdown-oxide
|
||||||
|
marksman
|
||||||
|
nixd
|
||||||
|
deno
|
||||||
|
alejandra
|
||||||
|
vscode-langservers-extracted
|
||||||
|
fish-lsp
|
||||||
|
tailwindcss-language-server
|
||||||
|
gopls
|
||||||
|
golangci-lint-langserver
|
||||||
|
tinymist
|
||||||
|
delve
|
||||||
|
lldb
|
||||||
|
rust-analyzer
|
||||||
|
# nil
|
||||||
|
haskell-language-server
|
||||||
|
neocmakelsp
|
||||||
|
jdt-language-server
|
||||||
|
zls
|
||||||
];
|
];
|
||||||
userSettings = {
|
userSettings = {
|
||||||
|
languages = {
|
||||||
|
Nix = {
|
||||||
|
language_servers = ["nixd" "!nil"];
|
||||||
|
formatter = {
|
||||||
|
external = {
|
||||||
|
command = "alejandra";
|
||||||
|
arguments = ["--quiet" "--"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
soft_wrap = "editor_width";
|
soft_wrap = "editor_width";
|
||||||
autosave = "on_focus_change";
|
autosave = "on_focus_change";
|
||||||
auto_update = false;
|
auto_update = false;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
./gui.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
./users
|
./users
|
||||||
|
|
@ -21,7 +22,6 @@
|
||||||
kanata.enable = true;
|
kanata.enable = true;
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
};
|
};
|
||||||
gui.enabled = "niri";
|
|
||||||
};
|
};
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
20
nixos/configurations/Akun/gui.nix
Normal file
20
nixos/configurations/Akun/gui.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{...}: let
|
||||||
|
extraConfig = ''
|
||||||
|
output "eDP-1" {
|
||||||
|
mode "1920x1200@60.018"
|
||||||
|
scale 1.0
|
||||||
|
focus-at-startup
|
||||||
|
position x=0 y=0
|
||||||
|
transform "normal"
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="apps.regreet"
|
||||||
|
open-on-output "eDP-1"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
youthlic.gui = {
|
||||||
|
enabled = "niri";
|
||||||
|
niri.extraConfig = extraConfig;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports =
|
imports =
|
||||||
|
|
@ -11,6 +12,7 @@
|
||||||
++ [
|
++ [
|
||||||
./users
|
./users
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
|
./gui.nix
|
||||||
|
|
||||||
# Include the hardware related config
|
# Include the hardware related config
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
@ -44,7 +46,6 @@
|
||||||
owncast.enable = true;
|
owncast.enable = true;
|
||||||
minio.enable = true;
|
minio.enable = true;
|
||||||
};
|
};
|
||||||
gui.enabled = "niri";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# specialisation = {
|
# specialisation = {
|
||||||
|
|
|
||||||
26
nixos/configurations/Tytonidae/gui.nix
Normal file
26
nixos/configurations/Tytonidae/gui.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{pkgs, ...}: let
|
||||||
|
extraConfig = ''
|
||||||
|
output "DP-1" {
|
||||||
|
mode "2560x1440@169.900"
|
||||||
|
scale 1.0
|
||||||
|
position x=0 y=0
|
||||||
|
transform "normal"
|
||||||
|
focus-at-startup
|
||||||
|
}
|
||||||
|
output "eDP-1" {
|
||||||
|
mode "2560x1440@165.003"
|
||||||
|
scale 1.5
|
||||||
|
position x=2560 y=0
|
||||||
|
transform "normal"
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="apps.regreet"
|
||||||
|
open-on-output "DP-1"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
youthlic.gui = {
|
||||||
|
enabled = "niri";
|
||||||
|
niri.extraConfig = extraConfig;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,13 @@
|
||||||
}: let
|
}: let
|
||||||
cfg = config.youthlic.gui;
|
cfg = config.youthlic.gui;
|
||||||
in {
|
in {
|
||||||
|
options = {
|
||||||
|
youthlic.gui.niri = {
|
||||||
|
extraConfig = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
config = lib.mkIf (cfg.enabled == "niri") {
|
config = lib.mkIf (cfg.enabled == "niri") {
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -61,20 +68,49 @@ in {
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
services.xserver = {
|
services = {
|
||||||
enable = true;
|
greetd = let
|
||||||
xkb = {
|
niriConfig = pkgs.writeText "greetd-niri-config.kdl" (''
|
||||||
layout = "cn";
|
binds {}
|
||||||
variant = "";
|
hotkey-overlay {
|
||||||
};
|
skip-at-startup
|
||||||
displayManager.gdm = {
|
}
|
||||||
|
gestures {
|
||||||
|
hot-corners {
|
||||||
|
off
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spawn-at-startup "${lib.getExe pkgs.swaybg}" "-i" "${config.stylix.image}"
|
||||||
|
''
|
||||||
|
+ config.youthlic.gui.niri.extraConfig);
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland = true;
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "env GTK_USE_PORTAL=0 GDK_DEBUG=no-portals ${lib.getExe' config.programs.niri.package "niri"} --config ${niriConfig} -- ${lib.getExe config.programs.regreet.package}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
# displayManager.gdm = {
|
||||||
|
# enable = true;
|
||||||
|
# wayland = true;
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.niri = {
|
programs = {
|
||||||
enable = true;
|
regreet = {
|
||||||
package = pkgs.niri-unstable;
|
enable = true;
|
||||||
|
};
|
||||||
|
niri = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.niri-unstable;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
||||||
inherit (prev) lib;
|
inherit (prev) lib;
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
./spotify.nix
|
|
||||||
./niri.nix
|
./niri.nix
|
||||||
./ghostty.nix
|
./ghostty.nix
|
||||||
./juicity.nix
|
./juicity.nix
|
||||||
./dae.nix
|
./dae.nix
|
||||||
./jujutsu.nix
|
./jujutsu.nix
|
||||||
|
./spotifyx.nix
|
||||||
]
|
]
|
||||||
|> map (file: import file args)
|
|> map (file: import file args)
|
||||||
|> (overlays: (lib.composeManyExtensions overlays) final prev)
|
|> (overlays: (lib.composeManyExtensions overlays) final prev)
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{inputs, ...}: import "${inputs.oskars-dotfiles}/overlays/spotx.nix"
|
|
||||||
6
overlays/modifications/spotifyx.nix
Normal file
6
overlays/modifications/spotifyx.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{outputs, ...}: final: prev: let
|
||||||
|
inherit (final) stdenv;
|
||||||
|
inherit (stdenv.hostPlatform) system;
|
||||||
|
in {
|
||||||
|
spotify = outputs.packages."${system}".spotifyx;
|
||||||
|
}
|
||||||
|
|
@ -92,7 +92,7 @@
|
||||||
},
|
},
|
||||||
"rime-ice": {
|
"rime-ice": {
|
||||||
"cargoLocks": null,
|
"cargoLocks": null,
|
||||||
"date": "2025-04-22",
|
"date": "2025-05-01",
|
||||||
"extract": null,
|
"extract": null,
|
||||||
"name": "rime-ice",
|
"name": "rime-ice",
|
||||||
"passthru": null,
|
"passthru": null,
|
||||||
|
|
@ -104,12 +104,33 @@
|
||||||
"name": null,
|
"name": null,
|
||||||
"owner": "iDvel",
|
"owner": "iDvel",
|
||||||
"repo": "rime-ice",
|
"repo": "rime-ice",
|
||||||
"rev": "7f6f4880bd5f6b7a76195c515af2e64b88ce0ec2",
|
"rev": "5322bcd86f47d18e0785cac4a5da239664b46235",
|
||||||
"sha256": "sha256-N7EDvQX598jxNILzwTwAeu/BY9wWVBRUuTApamf4nAY=",
|
"sha256": "sha256-BFS/pMuUlZ6pQEITZ37hotl7YUMmU7kWoHA26L+y7Pc=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "7f6f4880bd5f6b7a76195c515af2e64b88ce0ec2"
|
"version": "5322bcd86f47d18e0785cac4a5da239664b46235"
|
||||||
|
},
|
||||||
|
"spotx": {
|
||||||
|
"cargoLocks": null,
|
||||||
|
"date": "2025-04-23",
|
||||||
|
"extract": null,
|
||||||
|
"name": "spotx",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "SpotX-Official",
|
||||||
|
"repo": "SpotX-Bash",
|
||||||
|
"rev": "d5a23bfc64d75979373c5fddc81641dabff051aa",
|
||||||
|
"sha256": "sha256-gYr2b9oSOB/kuK6Em3T+gAALgzpRQxvSBJNWoaJ7yvg=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "d5a23bfc64d75979373c5fddc81641dabff051aa"
|
||||||
},
|
},
|
||||||
"tree-sitter-idris": {
|
"tree-sitter-idris": {
|
||||||
"cargoLocks": null,
|
"cargoLocks": null,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
# This file was generated by nvfetcher, please do not modify it manually.
|
# This file was generated by nvfetcher, please do not modify it manually.
|
||||||
|
{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }:
|
||||||
{
|
{
|
||||||
fetchgit,
|
|
||||||
fetchurl,
|
|
||||||
fetchFromGitHub,
|
|
||||||
dockerTools,
|
|
||||||
}: {
|
|
||||||
dioxionary = {
|
dioxionary = {
|
||||||
pname = "dioxionary";
|
pname = "dioxionary";
|
||||||
version = "4db80d458ff7494967c94ebb1db596abba0775b2";
|
version = "4db80d458ff7494967c94ebb1db596abba0775b2";
|
||||||
|
|
@ -14,12 +10,13 @@
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-H5uMTtDX9hBV36MtiPPlHPaL//WM11J5kdtEhyJBZIU=";
|
sha256 = "sha256-H5uMTtDX9hBV36MtiPPlHPaL//WM11J5kdtEhyJBZIU=";
|
||||||
};
|
};
|
||||||
cargoLock."./Cargo.lock" = {
|
cargoLock."./Cargo.lock" = {
|
||||||
lockFile = ./dioxionary-4db80d458ff7494967c94ebb1db596abba0775b2/./Cargo.lock;
|
lockFile = ./dioxionary-4db80d458ff7494967c94ebb1db596abba0775b2/./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
date = "2025-04-07";
|
date = "2025-04-07";
|
||||||
|
|
@ -33,7 +30,7 @@
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-s/OYlW66mu/3MHwhZCxvQv8f/rNuCB4SLZ2jYPO5UQQ=";
|
sha256 = "sha256-s/OYlW66mu/3MHwhZCxvQv8f/rNuCB4SLZ2jYPO5UQQ=";
|
||||||
};
|
};
|
||||||
date = "2025-02-20";
|
date = "2025-02-20";
|
||||||
|
|
@ -48,7 +45,7 @@
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = ["Sans/OTC"];
|
sparseCheckout = [ "Sans/OTC" ];
|
||||||
sha256 = "sha256-UxbwdY2w3u6i1kBWwr5vMKvsnD3eCllN+kBrCH38KlY=";
|
sha256 = "sha256-UxbwdY2w3u6i1kBWwr5vMKvsnD3eCllN+kBrCH38KlY=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -62,21 +59,33 @@
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = ["Serif/OTC"];
|
sparseCheckout = [ "Serif/OTC" ];
|
||||||
sha256 = "sha256-mfbBSdJrUCZiUUmsmndtEW6H3z6KfBn+dEftBySf2j4=";
|
sha256 = "sha256-mfbBSdJrUCZiUUmsmndtEW6H3z6KfBn+dEftBySf2j4=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
rime-ice = {
|
rime-ice = {
|
||||||
pname = "rime-ice";
|
pname = "rime-ice";
|
||||||
version = "7f6f4880bd5f6b7a76195c515af2e64b88ce0ec2";
|
version = "5322bcd86f47d18e0785cac4a5da239664b46235";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "iDvel";
|
owner = "iDvel";
|
||||||
repo = "rime-ice";
|
repo = "rime-ice";
|
||||||
rev = "7f6f4880bd5f6b7a76195c515af2e64b88ce0ec2";
|
rev = "5322bcd86f47d18e0785cac4a5da239664b46235";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
sha256 = "sha256-N7EDvQX598jxNILzwTwAeu/BY9wWVBRUuTApamf4nAY=";
|
sha256 = "sha256-BFS/pMuUlZ6pQEITZ37hotl7YUMmU7kWoHA26L+y7Pc=";
|
||||||
};
|
};
|
||||||
date = "2025-04-22";
|
date = "2025-05-01";
|
||||||
|
};
|
||||||
|
spotx = {
|
||||||
|
pname = "spotx";
|
||||||
|
version = "d5a23bfc64d75979373c5fddc81641dabff051aa";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "SpotX-Official";
|
||||||
|
repo = "SpotX-Bash";
|
||||||
|
rev = "d5a23bfc64d75979373c5fddc81641dabff051aa";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-gYr2b9oSOB/kuK6Em3T+gAALgzpRQxvSBJNWoaJ7yvg=";
|
||||||
|
};
|
||||||
|
date = "2025-04-23";
|
||||||
};
|
};
|
||||||
tree-sitter-idris = {
|
tree-sitter-idris = {
|
||||||
pname = "tree-sitter-idris";
|
pname = "tree-sitter-idris";
|
||||||
|
|
@ -87,7 +96,7 @@
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-aOAxb0KjhSwlNX/IDvGwEysYvImgUEIDeNDOWRl1qNk=";
|
sha256 = "sha256-aOAxb0KjhSwlNX/IDvGwEysYvImgUEIDeNDOWRl1qNk=";
|
||||||
};
|
};
|
||||||
name = "idris";
|
name = "idris";
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ in
|
||||||
juicity = callPackage ./juicity.nix {};
|
juicity = callPackage ./juicity.nix {};
|
||||||
rime-ice = callPackage ./rime-ice.nix {};
|
rime-ice = callPackage ./rime-ice.nix {};
|
||||||
dioxionary = callPackage ./dioxionary.nix {};
|
dioxionary = callPackage ./dioxionary.nix {};
|
||||||
|
spotifyx = callPackage ./spotifyx.nix {};
|
||||||
|
|
||||||
noto-serif-cjk = callPackage ./noto-serif-cjk.nix {};
|
noto-serif-cjk = callPackage ./noto-serif-cjk.nix {};
|
||||||
noto-sans-cjk = callPackage ./noto-sans-cjk.nix {};
|
noto-sans-cjk = callPackage ./noto-sans-cjk.nix {};
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
idris2Packages.idris2Lsp
|
idris2Packages.idris2Lsp
|
||||||
lua-language-server
|
lua-language-server
|
||||||
bash-language-server
|
bash-language-server
|
||||||
|
shfmt
|
||||||
hurl
|
hurl
|
||||||
cmake-language-server
|
cmake-language-server
|
||||||
kdlfmt
|
kdlfmt
|
||||||
|
|
@ -31,6 +32,7 @@
|
||||||
alejandra
|
alejandra
|
||||||
vscode-langservers-extracted
|
vscode-langservers-extracted
|
||||||
fish-lsp
|
fish-lsp
|
||||||
|
tailwindcss-language-server
|
||||||
gopls
|
gopls
|
||||||
golangci-lint-langserver
|
golangci-lint-langserver
|
||||||
tinymist
|
tinymist
|
||||||
|
|
@ -40,6 +42,8 @@
|
||||||
# nil
|
# nil
|
||||||
haskell-language-server
|
haskell-language-server
|
||||||
neocmakelsp
|
neocmakelsp
|
||||||
|
jdt-language-server
|
||||||
|
zls
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
|
|
|
||||||
|
|
@ -25,3 +25,7 @@ git.sparseCheckout = ["Serif/OTC"]
|
||||||
src.github = "notofonts/noto-cjk"
|
src.github = "notofonts/noto-cjk"
|
||||||
fetch.github = "notofonts/noto-cjk"
|
fetch.github = "notofonts/noto-cjk"
|
||||||
git.sparseCheckout = ["Sans/OTC"]
|
git.sparseCheckout = ["Sans/OTC"]
|
||||||
|
|
||||||
|
[spotx]
|
||||||
|
src.git = "https://github.com/SpotX-Official/SpotX-Bash.git"
|
||||||
|
fetch.github = "SpotX-Official/SpotX-Bash"
|
||||||
|
|
|
||||||
26
pkgs/spotifyx.nix
Normal file
26
pkgs/spotifyx.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
srcs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (srcs) spotx;
|
||||||
|
in
|
||||||
|
pkgs.spotify.overrideAttrs (final: prev: {
|
||||||
|
version = prev.version + "_spotx-${spotx.version}";
|
||||||
|
nativeBuildInputs =
|
||||||
|
prev.nativeBuildInputs
|
||||||
|
++ (with pkgs; [
|
||||||
|
unzip
|
||||||
|
zip
|
||||||
|
perl
|
||||||
|
]);
|
||||||
|
spotx = spotx.src;
|
||||||
|
postUnpack = ''
|
||||||
|
cp $spotx/spotx.sh ./spotx.sh
|
||||||
|
chmod +x ./spotx.sh
|
||||||
|
patchShebangs --build ./spotx.sh
|
||||||
|
'';
|
||||||
|
postInstall = ''
|
||||||
|
./spotx.sh -P $out/share/spotify -h
|
||||||
|
'';
|
||||||
|
})
|
||||||
Loading…
Add table
Add a link
Reference in a new issue