mirror of
https://github.com/nickolaj-jepsen/nixos.git
synced 2026-01-22 08:06:50 +01:00
feat: move to dms and remove hyprland completely
This commit is contained in:
parent
bc9a10e521
commit
357d01cc9b
24 changed files with 410 additions and 767 deletions
333
flake.lock
generated
333
flake.lock
generated
|
|
@ -47,47 +47,27 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ags": {
|
||||
"dankMaterialShell": {
|
||||
"inputs": {
|
||||
"astal": "astal",
|
||||
"dgop": [
|
||||
"dgop"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"fireproof-shell",
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"quickshell": "quickshell"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764289441,
|
||||
"narHash": "sha256-ak+lgFiYE5PHByN1/BRkO5JP498hno6Ix24C1Qf/vec=",
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"rev": "e169694390548dfd38ff40f1ef2163d6c3ffe3ea",
|
||||
"lastModified": 1765493842,
|
||||
"narHash": "sha256-KwubAPYQBVsQApkiKLfNp0K4HVkW02pu3GhaDU/78ZI=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "DankMaterialShell",
|
||||
"rev": "89dcd72d703d525d2034f616ecf19823d5f50457",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"astal": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"fireproof-shell",
|
||||
"ags",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764173295,
|
||||
"narHash": "sha256-Jh4VtPcK2Ov+RTcV9FtyQRsxiJmXFQGfqX6jjM7/mgc=",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"rev": "7d1fac8a4b2a14954843a978d2ddde86168c75ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "DankMaterialShell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
|
@ -134,6 +114,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dgop": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762835999,
|
||||
"narHash": "sha256-UykYGrGFOFTmDpKTLNxj1wvd1gbDG4TkqLNSbV0TYwk=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dgop",
|
||||
"rev": "799301991cd5dcea9b64245f9d500dcc76615653",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dgop",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"disko": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -141,11 +141,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764627417,
|
||||
"narHash": "sha256-D6xc3Rl8Ab6wucJWdvjNsGYGSxNjQHzRc2EZ6eeQ6l4=",
|
||||
"lastModified": 1765326679,
|
||||
"narHash": "sha256-fTLX9kDwLr9Y0rH/nG+h1XG5UU+jBcy0PFYn5eneRX8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "5a88a6eceb8fd732b983e72b732f6f4b8269bef3",
|
||||
"rev": "d64e5cdca35b5fad7c504f615357a7afe6d9c49e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -154,29 +154,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fireproof-shell": {
|
||||
"inputs": {
|
||||
"ags": "ags",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764592126,
|
||||
"narHash": "sha256-NsZy4hn9s9mJyf36PtNe+DE7nVXTJKOWbIb4O38CuVs=",
|
||||
"owner": "nickolaj-jepsen",
|
||||
"repo": "fireproof-shell",
|
||||
"rev": "9e001284046736178c3ce77df56f3dbcedc81578",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nickolaj-jepsen",
|
||||
"repo": "fireproof-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
@ -216,14 +193,16 @@
|
|||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"lastModified": 1765495779,
|
||||
"narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -233,26 +212,6 @@
|
|||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_4": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
|
|
@ -323,11 +282,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765170903,
|
||||
"narHash": "sha256-O8VTGey1xxiRW+Fpb+Ps9zU7ShmxUA1a7cMTcENCVNg=",
|
||||
"lastModified": 1765384171,
|
||||
"narHash": "sha256-FuFtkJrW1Z7u+3lhzPRau69E0CNjADku1mLQQflUORo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "20561be440a11ec57a89715480717baf19fe6343",
|
||||
"rev": "44777152652bc9eacf8876976fa72cc77ca8b9d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -349,11 +308,11 @@
|
|||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765120349,
|
||||
"narHash": "sha256-MvwrHRV80hOdEwfLgI16XhApHuvj69aAgUWQ8ZBgAqE=",
|
||||
"lastModified": 1765386897,
|
||||
"narHash": "sha256-wmHtBM2Iuthw9DsTD9RUkkZqrmsSJYGgflSaskE+Rrc=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "0f4acff79842637e92f5f2609d3844bac9d5e592",
|
||||
"rev": "be7806f4fe2ead48eaf22e125f535d70a5ff2e3b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -382,11 +341,11 @@
|
|||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764966114,
|
||||
"narHash": "sha256-nC0Fsu4zSdabdR4tHHMCrTgqLms612eEDy5VCdQVZFk=",
|
||||
"lastModified": 1765306956,
|
||||
"narHash": "sha256-dAnL/EFft88xvKBLSE4pxSD5D945Cjm3E59bSl0feSE=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "ba29735fbbd8cf8319c71ccb55b54a0580007c80",
|
||||
"rev": "4d058e611147803f5188e417943c6653d846542f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -402,11 +361,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765080594,
|
||||
"narHash": "sha256-5t3d655GqLblE+p5xN5ntkeRfZBesN7vehOWcRcU88M=",
|
||||
"lastModified": 1765267181,
|
||||
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "4194c582d0a3f440382ee00b729ea5cc5ef59754",
|
||||
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -417,14 +376,14 @@
|
|||
},
|
||||
"nix-vscode-extensions": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765159287,
|
||||
"narHash": "sha256-C+dVEekU31QPaPShMaUbs3LqOVVqzq0b4gKC1jX8Mlk=",
|
||||
"lastModified": 1765505053,
|
||||
"narHash": "sha256-nDMsy5cVXs4iShqoLt8gCz/s1LdVxsaUFsTuSY/22rg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "dccd0cc3693bff67e4856b5a22445223aabc4d4b",
|
||||
"rev": "1778f178603ed65b4e4033c64f04ea51142ad6f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -450,11 +409,11 @@
|
|||
},
|
||||
"nixos-facter-modules": {
|
||||
"locked": {
|
||||
"lastModified": 1764252389,
|
||||
"narHash": "sha256-3bbuneTKZBkYXlm0bE36kUjiDsasoIC1GWBw/UEJ9T4=",
|
||||
"lastModified": 1765442039,
|
||||
"narHash": "sha256-k3lYQ+A1F7aTz8HnlU++bd9t/x/NP2A4v9+x6opcVg0=",
|
||||
"owner": "numtide",
|
||||
"repo": "nixos-facter-modules",
|
||||
"rev": "5ea68886d95218646d11d3551a476d458df00778",
|
||||
"rev": "9dd775ee92de63f14edd021d59416e18ac2c00f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -485,69 +444,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1761236834,
|
||||
"narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d5faa84122bc0a1fd5d378492efce4e289f8eac1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1761765539,
|
||||
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1764983851,
|
||||
"narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1764950072,
|
||||
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f61125a668a320878494449750330ca58b78c557",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1759770925,
|
||||
"narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=",
|
||||
|
|
@ -563,13 +459,45 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1764983851,
|
||||
"narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=",
|
||||
"lastModified": 1765311797,
|
||||
"narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1765186076,
|
||||
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454",
|
||||
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1765311797,
|
||||
"narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -579,7 +507,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1761236834,
|
||||
"narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=",
|
||||
|
|
@ -597,17 +525,17 @@
|
|||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_4",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765189607,
|
||||
"narHash": "sha256-5zMFG00O+JW/YOpCfPjNnQ8vmjRF3IRwRukfUTVLwnE=",
|
||||
"lastModified": 1765506555,
|
||||
"narHash": "sha256-v18RWNPmHOEhvnvcZEtsZ+3xpFaEQqhW8HIUVg4n+fM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "e3983edb556e45a5fa73d20386bd015ff2707199",
|
||||
"rev": "2f636cb9dfbfc27d6b4a84ff1f360b79103ef980",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -639,23 +567,46 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"quickshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dankMaterialShell",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764663772,
|
||||
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
||||
"revCount": 713,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
},
|
||||
"original": {
|
||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"agenix-rekey": "agenix-rekey",
|
||||
"dankMaterialShell": "dankMaterialShell",
|
||||
"dgop": "dgop",
|
||||
"disko": "disko",
|
||||
"fireproof-shell": "fireproof-shell",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"home-manager": "home-manager_2",
|
||||
"niri": "niri",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||
"nixos-facter-modules": "nixos-facter-modules",
|
||||
"nixos-generators": "nixos-generators",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nur": "nur",
|
||||
"treefmt-nix": "treefmt-nix_3"
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
|
@ -696,25 +647,7 @@
|
|||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762938485,
|
||||
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762938485,
|
||||
|
|
@ -750,11 +683,11 @@
|
|||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764721075,
|
||||
"narHash": "sha256-ChH4nq0cMEEkzkHqKlQt5Z7wxrk8ybcEHuA1YKAYmV0=",
|
||||
"lastModified": 1765343581,
|
||||
"narHash": "sha256-HtTPbV6z6AJPg2d0bHaJKFrnNha+SEbHvbJafKAQ614=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "1b918e29b419e89910014054e8b71d54c9235ea5",
|
||||
"rev": "f0ad674b7009a6afd80cea59d4fbf975dd68ee95",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
10
flake.nix
10
flake.nix
|
|
@ -35,9 +35,6 @@
|
|||
disko.url = "github:nix-community/disko";
|
||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
fireproof-shell.url = "github:nickolaj-jepsen/fireproof-shell";
|
||||
fireproof-shell.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
|
@ -52,5 +49,12 @@
|
|||
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
niri.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
dgop.url = "github:AvengeMedia/dgop";
|
||||
dgop.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
dankMaterialShell.url = "github:AvengeMedia/DankMaterialShell";
|
||||
dankMaterialShell.inputs.nixpkgs.follows = "nixpkgs";
|
||||
dankMaterialShell.inputs.dgop.follows = "dgop";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ with lib; let
|
|||
inputs.agenix-rekey.nixosModules.default
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
inputs.nixos-facter-modules.nixosModules.facter
|
||||
inputs.fireproof-shell.nixosModules.default
|
||||
inputs.dankMaterialShell.nixosModules.dankMaterialShell
|
||||
inputs.niri.nixosModules.niri
|
||||
../modules/base
|
||||
../modules/programs
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
_: {
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
acceleration = "cuda";
|
||||
};
|
||||
}
|
||||
|
|
@ -27,12 +27,15 @@
|
|||
cp *.svg *.png $out/share/backgrounds
|
||||
'';
|
||||
};
|
||||
unknownPng = background + "/share/backgrounds/unknown.png";
|
||||
geometryPng = background + "/share/backgrounds/geometry.png";
|
||||
pngs = [
|
||||
(background + "/share/backgrounds/unknown.png")
|
||||
(background + "/share/backgrounds/geometry.png")
|
||||
unknownPng
|
||||
geometryPng
|
||||
];
|
||||
in {
|
||||
fireproof.home-manager = {
|
||||
# Use hyprpaper as we can't currently set wallpapers through DMS
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
@ -40,5 +43,15 @@ in {
|
|||
wallpaper = [",${builtins.head pngs}"];
|
||||
};
|
||||
};
|
||||
|
||||
programs.dankMaterialShell.default.settings = {
|
||||
# Disables wallpaper management in DMS to avoid conflicts with Hyprpaper
|
||||
screenPreferences.wallpaper = [];
|
||||
};
|
||||
|
||||
programs.dankMaterialShell.default.session = {
|
||||
# Attempt to set a default wallpaper on first run
|
||||
wallpaperPath = unknownPng;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Before Width: | Height: | Size: 410 B After Width: | Height: | Size: 410 B |
|
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 282 KiB |
91
legacy_modules/desktop/dms/bar.nix
Normal file
91
legacy_modules/desktop/dms/bar.nix
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
{config, ...}: let
|
||||
commonBarSettings = {
|
||||
enabled = true;
|
||||
position = 0;
|
||||
|
||||
spacing = 0;
|
||||
innerPadding = 0;
|
||||
bottomGap = -5;
|
||||
transparency = 0;
|
||||
widgetTransparency = 1;
|
||||
squareCorners = true;
|
||||
noBackground = false;
|
||||
gothCornersEnabled = false;
|
||||
gothCornerRadiusOverride = false;
|
||||
gothCornerRadiusValue = 12;
|
||||
borderEnabled = false;
|
||||
borderColor = "primary";
|
||||
borderOpacity = 1;
|
||||
borderThickness = 2;
|
||||
widgetOutlineEnabled = false;
|
||||
widgetOutlineColor = "primary";
|
||||
widgetOutlineOpacity = 1;
|
||||
widgetOutlineThickness = 1;
|
||||
fontScale = 1;
|
||||
autoHide = false;
|
||||
autoHideDelay = 250;
|
||||
openOnOverview = false;
|
||||
visible = true;
|
||||
popupGapsAuto = true;
|
||||
popupGapsManual = 4;
|
||||
maximizeDetection = true;
|
||||
};
|
||||
primaryBar =
|
||||
{
|
||||
id = "default";
|
||||
name = "Primary Bar";
|
||||
screenPreferences = [
|
||||
{
|
||||
name = (builtins.head config.monitors).name or "";
|
||||
}
|
||||
];
|
||||
showOnLastDisplay = true;
|
||||
leftWidgets = [
|
||||
"launcherButton"
|
||||
"workspaceSwitcher"
|
||||
"runningApps"
|
||||
];
|
||||
centerWidgets = [
|
||||
"focusedWindow"
|
||||
];
|
||||
rightWidgets = [
|
||||
"music"
|
||||
"systemTray"
|
||||
"cpuUsage"
|
||||
"controlCenterButton"
|
||||
"notificationButton"
|
||||
"clock"
|
||||
];
|
||||
}
|
||||
// commonBarSettings;
|
||||
secondaryBar =
|
||||
{
|
||||
id = "secondary";
|
||||
name = "Secondary Bar";
|
||||
screenPreferences = builtins.map (monitor: {
|
||||
inherit (monitor) name;
|
||||
}) (builtins.tail config.monitors);
|
||||
showOnLastDisplay = false;
|
||||
leftWidgets = [
|
||||
"workspaceSwitcher"
|
||||
];
|
||||
centerWidgets = [];
|
||||
rightWidgets = [];
|
||||
}
|
||||
// commonBarSettings;
|
||||
in {
|
||||
fireproof.home-manager = {
|
||||
programs.dankMaterialShell.default.settings = {
|
||||
launcherLogoMode = "os";
|
||||
launcherLogoContrast = 1;
|
||||
launcherLogoSizeOffset = 3;
|
||||
|
||||
centeringMode = "geometric";
|
||||
|
||||
runningAppsCurrentWorkspace = true;
|
||||
runningAppsGroupByApp = true;
|
||||
|
||||
barConfigs = [primaryBar secondaryBar];
|
||||
};
|
||||
};
|
||||
}
|
||||
70
legacy_modules/desktop/dms/default.nix
Normal file
70
legacy_modules/desktop/dms/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./theme.nix
|
||||
./background.nix
|
||||
./bar.nix
|
||||
];
|
||||
|
||||
systemd.user.services.niri-flake-polkit.enable = false;
|
||||
|
||||
fireproof.home-manager = {
|
||||
imports = [
|
||||
inputs.dankMaterialShell.homeModules.dankMaterialShell.default
|
||||
];
|
||||
|
||||
programs.dankMaterialShell = {
|
||||
enable = true;
|
||||
|
||||
enableDynamicTheming = false;
|
||||
enableClipboard = false;
|
||||
enableVPN = false;
|
||||
enableCalendarEvents = false;
|
||||
|
||||
default.settings = {
|
||||
# General Settings
|
||||
weatherCoordinates = "56.1496278,10.2134046";
|
||||
|
||||
# Lock Screen
|
||||
loginctlLockIntegration = true;
|
||||
fadeToLockEnabled = true;
|
||||
fadeToLockGracePeriod = 5;
|
||||
|
||||
acMonitorTimeout = 1800;
|
||||
acLockTimeout = 600;
|
||||
acSuspendTimeout = 0;
|
||||
batteryMonitorTimeout = 600;
|
||||
batteryLockTimeout = 300;
|
||||
batterySuspendTimeout = 1800;
|
||||
|
||||
# Power Menu
|
||||
powerMenuActions = [
|
||||
"reboot"
|
||||
"logout"
|
||||
"poweroff"
|
||||
"lock"
|
||||
"suspend"
|
||||
];
|
||||
powerMenuDefaultAction = "lock";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services = {
|
||||
# A hack to always serve fresh settings from default-settings.json
|
||||
dms-clean-settings = {
|
||||
Unit = {
|
||||
Description = "Delete DankMaterialShell settings before dms starts";
|
||||
Before = ["dms.service"];
|
||||
};
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.coreutils}/bin/rm -f %h/.config/DankMaterialShell/settings.json";
|
||||
};
|
||||
Install.WantedBy = ["dms.service"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
43
legacy_modules/desktop/dms/theme.nix
Normal file
43
legacy_modules/desktop/dms/theme.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{username, ...}: {
|
||||
fireproof.home-manager = {
|
||||
home.file.".config/DankMaterialShell/colors.json".text = builtins.toJSON {
|
||||
name = "custom";
|
||||
primary = "#CF6A4C";
|
||||
primaryText = "#F2F0E5";
|
||||
primaryContainer = "#403E3C";
|
||||
secondary = "#CE5D97";
|
||||
surface = "#343331";
|
||||
surfaceText = "#DAD8CE";
|
||||
surfaceVariant = "#1C1B1A";
|
||||
surfaceVariantText = "#B7B5AC";
|
||||
surfaceTint = "#CF6A4C";
|
||||
background = "#100F0F";
|
||||
backgroundText = "#F2F0E5";
|
||||
outline = "#878580";
|
||||
surfaceContainer = "#1C1B1A";
|
||||
surfaceContainerHigh = "#282726";
|
||||
surfaceContainerHighest = "#403E3C";
|
||||
error = "#D14D41";
|
||||
warning = "#D0A215";
|
||||
info = "#4385BE";
|
||||
matugen_type = "scheme-expressive";
|
||||
};
|
||||
|
||||
programs.dankMaterialShell.default.settings = {
|
||||
# Color theme
|
||||
currentThemeName = "custom";
|
||||
customThemeFile = "/home/${username}/.config/DankMaterialShell/colors.json";
|
||||
widgetBackgroundColor = "sth";
|
||||
widgetColorMode = "default";
|
||||
|
||||
# General
|
||||
cornerRadius = 8;
|
||||
|
||||
# Font
|
||||
fontFamily = "Inter Variable";
|
||||
monoFontFamily = "Hack Nerd Font Mono";
|
||||
fontWeight = 400;
|
||||
fontScale = 1;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
pkgsUnstable,
|
||||
...
|
||||
}: let
|
||||
fireproofPkgs = inputs.fireproof-shell.packages.${pkgs.system};
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
fireproofPkgs.fireproof-shell
|
||||
fireproofPkgs.fireproof-ipc
|
||||
pkgsUnstable.astal.io
|
||||
];
|
||||
programs.fireproof-shell = {
|
||||
enable = true;
|
||||
settings = {
|
||||
monitor.main = (builtins.head config.monitors).name or "";
|
||||
launcher.uwsm = true;
|
||||
notification.ignore = ["/^Spotify/"];
|
||||
tray.ignore = ["/spotify/"];
|
||||
};
|
||||
};
|
||||
|
||||
fireproof.home-manager.wayland.windowManager.hyprland.settings.execr = ["pkill .fireproof-shel; fireproof-shell"];
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = [
|
||||
pkgs.fuzzel
|
||||
];
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --user-menu";
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --user-menu";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,307 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
pkgsUnstable,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.fireproof;
|
||||
primaryMonitorName = (builtins.head config.monitors).name or "";
|
||||
|
||||
color = {
|
||||
bg = "rgb(1C1B1A)";
|
||||
ui = "rgb(343331)";
|
||||
fg = "rgb(DAD8CE)";
|
||||
accent = "rgb(CF6A4C)";
|
||||
black = "rgb(100F0F)";
|
||||
transparent = "rgba(00000000)";
|
||||
};
|
||||
|
||||
record_script = pkgs.writeShellScriptBin "record_script" ''
|
||||
DIR="$HOME/recordings"
|
||||
FILE="$DIR/$(date '+%Y-%m-%d_%H.%M.%S').mp4"
|
||||
|
||||
mkdir -p $DIR
|
||||
if pgrep -f ${lib.getExe pkgs.wf-recorder} > /dev/null; then
|
||||
pkill ${lib.getExe pkgs.wf-recorder}
|
||||
${pkgs.libnotify}/bin/notify-send "Recording Stopped" "Recording saved to $FILE"
|
||||
else
|
||||
# Stolen from grimblast
|
||||
FULLSCREEN_WORKSPACES="$(hyprctl workspaces -j | jq -r 'map(select(.hasfullscreen) | .id)')"
|
||||
WORKSPACES="$(hyprctl monitors -j | jq -r '[(foreach .[] as $monitor (0; if $monitor.specialWorkspace.name == "" then $monitor.activeWorkspace else $monitor.specialWorkspace end)).id]')"
|
||||
WINDOWS="$(hyprctl clients -j | jq -r --argjson workspaces "$WORKSPACES" --argjson fullscreenWorkspaces "$FULLSCREEN_WORKSPACES" 'map((select(([.workspace.id] | inside($workspaces)) and ([.workspace.id] | inside($fullscreenWorkspaces) | not) or .fullscreen > 0)))')"
|
||||
|
||||
GEOMETRY=$(echo "$WINDOWS" | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | ${lib.getExe pkgs.slurp})
|
||||
|
||||
# ${pkgs.libnotify}/bin/notify-send "Starting recording" "Recording in 3 seconds" -a "record_script" -t 1000
|
||||
# sleep 1
|
||||
# ${pkgs.libnotify}/bin/notify-send "Starting recording" "Recording in 2 seconds" -a "record_script" -t 1000
|
||||
# sleep 1
|
||||
# ${pkgs.libnotify}/bin/notify-send "Starting recording" "Recording in 1 second" -t 1000
|
||||
# sleep 1
|
||||
|
||||
${pkgs.wf-recorder}/bin/wf-recorder --pixel-format yuv420p -f "$FILE" -t --geometry "$GEOMETRY" & disown
|
||||
${pkgs.wl-clipboard}/bin/wl-copy < "$FILE"
|
||||
fi
|
||||
'';
|
||||
|
||||
mkKeyboard = name: {
|
||||
inherit name;
|
||||
kb_layout = "eu";
|
||||
};
|
||||
mkMouse = name: sensitivity: {
|
||||
inherit name;
|
||||
inherit sensitivity;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
./hyprpolkitagent.nix
|
||||
./hyprpaper.nix
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
programs.uwsm.enable = true;
|
||||
programs.hyprland = {
|
||||
package = pkgsUnstable.hyprland;
|
||||
portalPackage = pkgsUnstable.xdg-desktop-portal-hyprland;
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
services.dbus.enable = true;
|
||||
services.systembus-notify.enable = true;
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprcursor
|
||||
];
|
||||
|
||||
fireproof.home-manager = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = false; # Conficts with UWSM
|
||||
|
||||
settings = {
|
||||
env = [
|
||||
"HYPRCURSOR_THEME,Adwaita"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
];
|
||||
monitor =
|
||||
map (
|
||||
m: let
|
||||
name =
|
||||
if m.name != null
|
||||
then m.name
|
||||
else "";
|
||||
resolution =
|
||||
if m.resolution != null
|
||||
then "${builtins.toString m.resolution.width}x${builtins.toString m.resolution.height}"
|
||||
else "preferred";
|
||||
refreshRate =
|
||||
if m.refreshRate != null
|
||||
then "@${builtins.toString m.refreshRate}"
|
||||
else "";
|
||||
position = "${builtins.toString m.position.x}x${builtins.toString m.position.y}";
|
||||
transform =
|
||||
if m.transform != null
|
||||
then ", transform, ${builtins.toString m.transform}"
|
||||
else "";
|
||||
in "${name}, ${resolution}${refreshRate}, ${position}, 1${transform}"
|
||||
)
|
||||
config.monitors;
|
||||
|
||||
exec = [
|
||||
"systemctl --user start hyprpaper"
|
||||
"systemctl --user start hypridle"
|
||||
];
|
||||
|
||||
input = {
|
||||
# Most unknown keyboards will be of the DK layout, we set known keyboards to eu in `devices`
|
||||
kb_layout = "dk";
|
||||
kb_options = "caps:backspace";
|
||||
|
||||
# Cursor focus will be detached from keyboard focus. Clicking on a window will move keyboard focus to that window.
|
||||
follow_mouse = 2;
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false;
|
||||
};
|
||||
|
||||
sensitivity = 0;
|
||||
accel_profile = "flat";
|
||||
};
|
||||
|
||||
workspace =
|
||||
if primaryMonitorName != ""
|
||||
then [
|
||||
"1, monitor:${primaryMonitorName}, persistent:true, default:true"
|
||||
"2, monitor:${primaryMonitorName}, persistent:true"
|
||||
"3, monitor:${primaryMonitorName}, persistent:true"
|
||||
"4, monitor:${primaryMonitorName}, persistent:true"
|
||||
"5, monitor:${primaryMonitorName}, persistent:true"
|
||||
]
|
||||
else [
|
||||
"1, persistent:true, default:true"
|
||||
"2, persistent:true"
|
||||
"3, persistent:true"
|
||||
"4, persistent:true"
|
||||
"5, persistent:true"
|
||||
];
|
||||
|
||||
# Names can be found with:
|
||||
# $ hyprctl devices -j | jq '.["keyboards"].[].name' -r | grep -vE "(system|consumer)-control"
|
||||
device =
|
||||
[
|
||||
# $ hyprctl devices -j | jq '.["mice"].[].name' -r
|
||||
(mkMouse "logitech-usb-ps/2-optical-mouse" 0.2)
|
||||
]
|
||||
++ map mkKeyboard [
|
||||
"splitkb-kyria-rev1"
|
||||
"zsa-technology-labs-inc-ergodox-ez-shine"
|
||||
"mattia-dal-ben-redox_wireless"
|
||||
"zsa-technology-labs-inc-ergodox-ez-shine-keyboard"
|
||||
];
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
"col.active_border" = color.accent;
|
||||
"col.inactive_border" = color.ui;
|
||||
layout = "dwindle";
|
||||
};
|
||||
cursor = {
|
||||
no_warps = true;
|
||||
};
|
||||
misc = {
|
||||
focus_on_activate = true;
|
||||
disable_hyprland_logo = true;
|
||||
background_color = color.bg;
|
||||
force_default_wallpaper = 0;
|
||||
middle_click_paste = false;
|
||||
font_family = "Hack Nerd Font";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 8;
|
||||
rounding_power = 4;
|
||||
shadow = {
|
||||
enabled = true;
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
animation = [
|
||||
"windows, 1, 4, default"
|
||||
"windowsOut, 1, 4, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 3, default"
|
||||
];
|
||||
};
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
force_split = 2;
|
||||
use_active_for_splits = true;
|
||||
};
|
||||
group = {
|
||||
auto_group = false;
|
||||
"col.border_inactive" = color.bg;
|
||||
"col.border_active" = color.accent;
|
||||
groupbar = {
|
||||
enabled = true;
|
||||
font_size = 12;
|
||||
gradients = false;
|
||||
height = 16;
|
||||
indicator_height = 2;
|
||||
"col.inactive" = color.ui;
|
||||
"col.active" = color.accent;
|
||||
"text_color" = color.fg;
|
||||
};
|
||||
};
|
||||
|
||||
bind = [
|
||||
"SUPER, RETURN, exec, ${getExe config.programs.uwsm.package} app -- ${cfg.base.defaults.terminal}"
|
||||
"SUPER, BACKSPACE, killactive"
|
||||
"SUPER, SPACE, exec, astal launcher"
|
||||
"SUPER, semicolon, exec, astal launcher .e"
|
||||
"SUPER, p, exec, ${getExe config.programs.uwsm.package} app -- ${pkgs.systemd}/bin/loginctl lock-session"
|
||||
|
||||
", Print, exec, ${lib.getExe pkgs.grimblast} save area - | ${lib.getExe pkgs.satty} -f -"
|
||||
"SHIFT, Print, exec, ${lib.getExe pkgs.grimblast} --freeze save area - | ${lib.getExe pkgs.satty} -f -"
|
||||
"CTRL, Print, exec, ${lib.getExe record_script}"
|
||||
|
||||
"SUPER, S, togglefloating"
|
||||
"SUPER, A, pseudo"
|
||||
"SUPER, D, fullscreen"
|
||||
"SUPER, BACKSLASH, togglesplit"
|
||||
|
||||
"SUPER, left, movefocus, l"
|
||||
"SUPER, right, movefocus, r"
|
||||
"SUPER, up, movefocus, u"
|
||||
"SUPER, down, movefocus, d"
|
||||
|
||||
"SUPER, h, movefocus, l"
|
||||
"SUPER, l, movefocus, r"
|
||||
"SUPER, k, movefocus, u"
|
||||
"SUPER, j, movefocus, d"
|
||||
"SUPER, p, submap, preselect"
|
||||
|
||||
"SUPER, q, workspace, 1"
|
||||
"SUPER, w, workspace, 2"
|
||||
"SUPER, e, workspace, 3"
|
||||
"SUPER, r, workspace, 4"
|
||||
"SUPER, t, workspace, 5"
|
||||
"SUPER SHIFT, q, movetoworkspace, 1"
|
||||
"SUPER SHIFT, w, movetoworkspace, 2"
|
||||
"SUPER SHIFT, e, movetoworkspace, 3"
|
||||
"SUPER SHIFT, r, movetoworkspace, 4"
|
||||
"SUPER SHIFT, t, movetoworkspace, 5"
|
||||
|
||||
"SUPER SHIFT, h, workspace, r-1"
|
||||
"SUPER SHIFT, l, workspace, r+1"
|
||||
|
||||
"SUPER, M, togglegroup"
|
||||
"SUPER, tab, changegroupactive, f"
|
||||
"SUPER SHIFT, tab, changegroupactive, b"
|
||||
];
|
||||
bindm = [
|
||||
"SUPER, mouse:272, movewindow"
|
||||
"SUPER, mouse:273, resizewindow"
|
||||
];
|
||||
layerrule = [
|
||||
"noanim, gtk4-layer-shell"
|
||||
];
|
||||
windowrulev2 = [
|
||||
# Screenshots
|
||||
"float,class:^(com.gabm.satty)$"
|
||||
"dimaround,class:^(com.gabm.satty)$"
|
||||
|
||||
# Firefox
|
||||
"float,class:^(firefox)$,title:^(Picture-in-Picture)$"
|
||||
"float,class:^(firefox)$,title:^(Library)$"
|
||||
"float,class:^(firefox)$,title:^(Bitwarden Password Manager)$"
|
||||
|
||||
# JetBrains
|
||||
"center,class:^(jetbrains-.*)$,title:^$,floating:1"
|
||||
"noinitialfocus,class:^(jetbrains-.*)$,title:^$,floating:1"
|
||||
"noanim,class:^(jetbrains-.*)$,title:^$,floating:1"
|
||||
|
||||
"center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
"nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
"noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
sleep_cmd = "${config.programs.hyprland.package}/bin/hyprctl dispatch dpms off";
|
||||
wake_cmd = "${config.programs.hyprland.package}/bin/hyprctl dispatch dpms on";
|
||||
lock_cmd = "pidof ${pkgs.hyprlock}/bin/hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
in {
|
||||
config = {
|
||||
fireproof.home-manager.services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
inherit lock_cmd;
|
||||
before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session";
|
||||
after_sleep_cmd = sleep_cmd;
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 60 * 5;
|
||||
on-timeout = lock_cmd;
|
||||
}
|
||||
{
|
||||
timeout = 60 * 15;
|
||||
on-timeout = sleep_cmd;
|
||||
on-resume = wake_cmd;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
background = pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "desktop-background";
|
||||
version = "0.2";
|
||||
|
||||
src = lib.fileset.toSource {
|
||||
root = ./.;
|
||||
fileset = lib.fileset.unions [
|
||||
./backgrounds/unknown.svg
|
||||
];
|
||||
};
|
||||
|
||||
nativeBuildInputs = [pkgs.inkscape];
|
||||
|
||||
buildPhase = ''
|
||||
inkscape -w 3840 -h 2160 backgrounds/unknown.svg -o unknown.png
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/backgrounds
|
||||
cp *.svg *.png $out/share/backgrounds
|
||||
'';
|
||||
};
|
||||
|
||||
# Re-use the same color scheme as in the main Hyprland config
|
||||
color = {
|
||||
bg = "rgb(28, 27, 26)";
|
||||
ui = "rgb(52, 51, 49)";
|
||||
fg = "rgb(218, 216, 206)";
|
||||
transparent = "rgba(0, 0, 0, 0)";
|
||||
};
|
||||
in {
|
||||
config = {
|
||||
fireproof.home-manager.programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = false;
|
||||
grace = 0;
|
||||
no_fade_in = false;
|
||||
};
|
||||
background = {
|
||||
monitor = "";
|
||||
color = color.bg;
|
||||
path = background + "/share/backgrounds/unknown.png";
|
||||
};
|
||||
input-field = {
|
||||
monitor = "";
|
||||
size = "250, 60";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
outer_color = color.transparent;
|
||||
inner_color = color.ui;
|
||||
font_color = color.fg;
|
||||
fade_on_empty = false;
|
||||
font_family = "Hack Nerd Font";
|
||||
placeholder_text = "";
|
||||
hide_input = false;
|
||||
position = "0, -35";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
rounding = 8;
|
||||
};
|
||||
shape = [
|
||||
{
|
||||
monitor = "";
|
||||
color = color.ui;
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
size = "150, 60";
|
||||
position = "0, 35";
|
||||
rounding = 8;
|
||||
}
|
||||
];
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "cmd[update:1000] echo \"<span>$(date +\"%H:%M\")</span>\"";
|
||||
color = color.fg;
|
||||
font_size = 30;
|
||||
font_family = "Hack Nerd Font";
|
||||
position = "0, 35";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
fireproof.home-manager.systemd.user.services.hyprpolkitagent = {
|
||||
Unit = {
|
||||
Description = "Hyprland Polkit Authentication Agent";
|
||||
};
|
||||
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
Slice = "session.slice";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
fireproof.home-manager.services.mako.enable = true;
|
||||
systemd.user.services."mako" = {
|
||||
description = "Mako notification daemon";
|
||||
documentation = ["man:mako(1)"];
|
||||
partOf = ["graphical-session.target"];
|
||||
after = ["graphical-session.target"];
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "org.freedesktop.Notifications";
|
||||
ExecCondition = "/bin/sh -c '[ -n \"$WAYLAND_DISPLAY\" ]'";
|
||||
ExecReload = "${pkgs.mako}/bin/mako reload";
|
||||
ExecStart = "${pkgs.mako}/bin/mako";
|
||||
};
|
||||
wantedBy = ["graphical-session.target"];
|
||||
};
|
||||
}
|
||||
|
|
@ -8,6 +8,8 @@
|
|||
primaryMonitorName = (builtins.head config.monitors).name or "";
|
||||
in {
|
||||
# TODO: Move these to a separate module
|
||||
programs.xwayland.enable = true;
|
||||
|
||||
fireproof.home-manager.programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
|
|
@ -41,7 +43,7 @@ in {
|
|||
color: #DAD8CE;
|
||||
border-bottom: 2px solid #CF6A4C;
|
||||
}
|
||||
|
||||
|
||||
#workspaces button.focused {
|
||||
background: #CF6A4C;
|
||||
color: #1C1B1A;
|
||||
|
|
@ -117,6 +119,10 @@ in {
|
|||
{command = ["systemctl" "--user" "start" "mako"];}
|
||||
{command = ["systemctl" "--user" "start" "waybar"];}
|
||||
];
|
||||
xwayland-satellite = {
|
||||
enable = true;
|
||||
path = lib.getExe inputs.niri.packages."${pkgs.system}".xwayland-satellite-unstable;
|
||||
};
|
||||
environment = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
GDK_BACKEND = "wayland"; # Attempt to fix screen recording issue
|
||||
|
|
@ -180,39 +186,43 @@ in {
|
|||
binds = {
|
||||
"XF86AudioRaiseVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-volume"
|
||||
"@DEFAULT_AUDIO_SINK@"
|
||||
"0.1+"
|
||||
];
|
||||
action.spawn = ["dms" "ipc" "audio" "increment" "3"];
|
||||
};
|
||||
"XF86AudioLowerVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-volume"
|
||||
"@DEFAULT_AUDIO_SINK@"
|
||||
"0.1-"
|
||||
];
|
||||
action.spawn = ["dms" "ipc" "audio" "decrement" "3"];
|
||||
};
|
||||
"XF86AudioMute" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-mute"
|
||||
"@DEFAULT_AUDIO_SINK@"
|
||||
"toggle"
|
||||
];
|
||||
action.spawn = ["dms" "ipc" "audio" "mute"];
|
||||
};
|
||||
"XF86AudioMicMute" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-mute"
|
||||
"@DEFAULT_AUDIO_SOURCE@"
|
||||
"toggle"
|
||||
];
|
||||
action.spawn = ["dms" "ipc" "audio" "micmute"];
|
||||
};
|
||||
"XF86MonBrightnessUp" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = ["dms" "ipc" "brightness" "increment" "5"];
|
||||
};
|
||||
"XF86MonBrightnessDown" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = ["dms" "ipc" "brightness" "decrement" "5"];
|
||||
};
|
||||
"Mod+N" = {
|
||||
action.spawn = ["dms" "ipc" "notifications" "toggle"];
|
||||
hotkey-overlay.title = "Toggle Notification Center";
|
||||
};
|
||||
"Mod+V" = {
|
||||
action.spawn = ["dms" "ipc" "clipboard" "toggle"];
|
||||
hotkey-overlay.title = "Toggle Clipboard Manager";
|
||||
};
|
||||
"Mod+Space" = {
|
||||
action.spawn = ["dms" "ipc" "spotlight" "toggle"];
|
||||
hotkey-overlay.title = "Toggle Application Launcher";
|
||||
};
|
||||
"Mod+P" = {
|
||||
action.spawn = ["dms" "ipc" "powermenu" "toggle"];
|
||||
hotkey-overlay.title = "Toggle Power Menu";
|
||||
};
|
||||
|
||||
"Mod+Left".action.focus-column-or-monitor-left = {};
|
||||
|
|
@ -291,7 +301,6 @@ in {
|
|||
"Mod+Slash".action.show-hotkey-overlay = {};
|
||||
|
||||
"Mod+Return".action.spawn = ["ghostty"];
|
||||
"Mod+Space".action.spawn = ["fuzzel"];
|
||||
"Mod+Backspace".action.close-window = {};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -3,20 +3,21 @@
|
|||
lib,
|
||||
pkgsUnstable,
|
||||
...
|
||||
}: let
|
||||
}: let
|
||||
# Sets LD_LIBRARY_PATH for various python-based tools
|
||||
# Some python packages requires shared libraries to build C extensions.
|
||||
mkWrapLDLibraryPath = pkg: let
|
||||
mainProgram = pkg.meta.mainProgram or pkg.pname or (lib.getName pkg);
|
||||
in pkgs.symlinkJoin {
|
||||
name = "${pkg.name}-wrapped";
|
||||
paths = [pkg];
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/${mainProgram} \
|
||||
--run "export LD_LIBRARY_PATH=\$NIX_LD_LIBRARY_PATH"
|
||||
'';
|
||||
};
|
||||
in
|
||||
pkgs.symlinkJoin {
|
||||
name = "${pkg.name}-wrapped";
|
||||
paths = [pkg];
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/${mainProgram} \
|
||||
--run "export LD_LIBRARY_PATH=\$NIX_LD_LIBRARY_PATH"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
(mkWrapLDLibraryPath pkgsUnstable.uv)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
./apps/pycharm.nix
|
||||
./apps/vscode.nix
|
||||
./apps/sublime-merge.nix
|
||||
./apps/ollama.nix
|
||||
./dev/python.nix
|
||||
./dev/javascript.nix
|
||||
./dev/k8s.nix
|
||||
|
|
|
|||
|
|
@ -3,14 +3,11 @@
|
|||
./hardware/monitors.nix
|
||||
./hardware/audio.nix
|
||||
./desktop/fonts.nix
|
||||
./desktop/fireproof-shell.nix
|
||||
./desktop/greetd.nix
|
||||
./desktop/niri.nix
|
||||
./desktop/fuzzel.nix
|
||||
./desktop/mako.nix
|
||||
./desktop/hyprland/default.nix
|
||||
./desktop/gtk/default.nix
|
||||
./desktop/qt.nix
|
||||
./desktop/dms/default.nix
|
||||
./desktop/screenshot.nix
|
||||
./apps/spotify.nix
|
||||
./apps/firefox.nix
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ in {
|
|||
};
|
||||
|
||||
programs.ssh.startAgent = true;
|
||||
services.gnome.gcr-ssh-agent.enable = false; #
|
||||
services.gnome.gcr-ssh-agent.enable = false;
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
_: {
|
||||
services.tailscale.enable = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue