Compare commits
	
		
			4 Commits
		
	
	
		
			82e26ee498
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f5d5791efd | |||
| 6c53fe1aae | |||
| 2e3b0b6a35 | |||
| 38dc75a6e1 | 
@@ -17,6 +17,7 @@ Don't forget to add the `#<host>` to the end of the target to specify the host c
 | 
			
		||||
 | 
			
		||||
### Spectre
 | 
			
		||||
 | 
			
		||||
###
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -53,7 +54,6 @@ TODO - disable root user
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## TODO
 | 
			
		||||
- Have a wofi power menu with https://github.com/RiteshChepuri/wofi-scripts/blob/main/wofi-power-menu
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										434
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										434
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -20,11 +20,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749155310,
 | 
			
		||||
        "narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=",
 | 
			
		||||
        "lastModified": 1759499898,
 | 
			
		||||
        "narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "aquamarine",
 | 
			
		||||
        "rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3",
 | 
			
		||||
        "rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -38,11 +38,11 @@
 | 
			
		||||
        "fromYaml": "fromYaml"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1745523430,
 | 
			
		||||
        "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=",
 | 
			
		||||
        "lastModified": 1746562888,
 | 
			
		||||
        "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
 | 
			
		||||
        "owner": "SenchoPens",
 | 
			
		||||
        "repo": "base16.nix",
 | 
			
		||||
        "rev": "58bfe2553d937d8af0564f79d5b950afbef69717",
 | 
			
		||||
        "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -70,11 +70,11 @@
 | 
			
		||||
    "base16-helix": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1736852337,
 | 
			
		||||
        "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
 | 
			
		||||
        "lastModified": 1748408240,
 | 
			
		||||
        "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "base16-helix",
 | 
			
		||||
        "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
 | 
			
		||||
        "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -103,11 +103,11 @@
 | 
			
		||||
    "firefox-gnome-theme": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1743774811,
 | 
			
		||||
        "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=",
 | 
			
		||||
        "lastModified": 1748383148,
 | 
			
		||||
        "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
 | 
			
		||||
        "owner": "rafaelmardojai",
 | 
			
		||||
        "repo": "firefox-gnome-theme",
 | 
			
		||||
        "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e",
 | 
			
		||||
        "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -119,11 +119,11 @@
 | 
			
		||||
    "flake-compat": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1696426674,
 | 
			
		||||
        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
 | 
			
		||||
        "lastModified": 1747046372,
 | 
			
		||||
        "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
 | 
			
		||||
        "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -132,28 +132,30 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-compat_2": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
    "flake-parts": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs-lib": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1733328505,
 | 
			
		||||
        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
 | 
			
		||||
        "lastModified": 1749398372,
 | 
			
		||||
        "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "flake-parts",
 | 
			
		||||
        "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "flake-parts",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-utils": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "systems": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "systems"
 | 
			
		||||
        ]
 | 
			
		||||
        "systems": "systems_2"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1731533236,
 | 
			
		||||
@@ -185,32 +187,6 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "git-hooks": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-compat": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "flake-compat"
 | 
			
		||||
        ],
 | 
			
		||||
        "gitignore": "gitignore_2",
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1742649964,
 | 
			
		||||
        "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
 | 
			
		||||
        "owner": "cachix",
 | 
			
		||||
        "repo": "git-hooks.nix",
 | 
			
		||||
        "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "cachix",
 | 
			
		||||
        "repo": "git-hooks.nix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "gitignore": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
@@ -233,41 +209,19 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "gitignore_2": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "git-hooks",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1709087332,
 | 
			
		||||
        "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "gitignore.nix",
 | 
			
		||||
        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "hercules-ci",
 | 
			
		||||
        "repo": "gitignore.nix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "gnome-shell": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1732369855,
 | 
			
		||||
        "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
 | 
			
		||||
        "lastModified": 1744584021,
 | 
			
		||||
        "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
 | 
			
		||||
        "owner": "GNOME",
 | 
			
		||||
        "repo": "gnome-shell",
 | 
			
		||||
        "rev": "dadd58f630eeea41d645ee225a63f719390829dc",
 | 
			
		||||
        "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "GNOME",
 | 
			
		||||
        "ref": "47.2",
 | 
			
		||||
        "ref": "48.1",
 | 
			
		||||
        "repo": "gnome-shell",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
@@ -279,11 +233,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749154018,
 | 
			
		||||
        "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
 | 
			
		||||
        "lastModified": 1758463745,
 | 
			
		||||
        "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "home-manager",
 | 
			
		||||
        "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
 | 
			
		||||
        "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -294,28 +248,6 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "home-manager_2": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1743808813,
 | 
			
		||||
        "narHash": "sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT+PpMao6FbLJSr0=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "home-manager",
 | 
			
		||||
        "rev": "a9f8b3db211b4609ddd83683f9db89796c7f6ac6",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "ref": "release-24.11",
 | 
			
		||||
        "repo": "home-manager",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "home-manager_3": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "zen-browser",
 | 
			
		||||
@@ -323,11 +255,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1743604125,
 | 
			
		||||
        "narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
 | 
			
		||||
        "lastModified": 1752603129,
 | 
			
		||||
        "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "home-manager",
 | 
			
		||||
        "rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
 | 
			
		||||
        "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -352,11 +284,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749155331,
 | 
			
		||||
        "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
 | 
			
		||||
        "lastModified": 1753964049,
 | 
			
		||||
        "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "hyprcursor",
 | 
			
		||||
        "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
 | 
			
		||||
        "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -381,11 +313,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749238452,
 | 
			
		||||
        "narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=",
 | 
			
		||||
        "lastModified": 1759490292,
 | 
			
		||||
        "narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "hyprgraphics",
 | 
			
		||||
        "rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8",
 | 
			
		||||
        "rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -410,11 +342,11 @@
 | 
			
		||||
        "xdph": "xdph"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1750106438,
 | 
			
		||||
        "narHash": "sha256-zaTFR6NLaXkveEGl2kdl4UlvT7eHm3cYSbgSkibCO+M=",
 | 
			
		||||
        "lastModified": 1760108751,
 | 
			
		||||
        "narHash": "sha256-GYyykk6SJytykQAz50WjKa2xK4C+sjPsz2wj5QjRktI=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "Hyprland",
 | 
			
		||||
        "rev": "0ece4af36a988ad06b28ed666011d84372d9e4dc",
 | 
			
		||||
        "rev": "6a01c399a971a57854fb4a99ce246534139beda4",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -503,11 +435,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749155776,
 | 
			
		||||
        "narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=",
 | 
			
		||||
        "lastModified": 1759080228,
 | 
			
		||||
        "narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "hyprland-qtutils",
 | 
			
		||||
        "rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522",
 | 
			
		||||
        "rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -532,11 +464,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749145882,
 | 
			
		||||
        "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
 | 
			
		||||
        "lastModified": 1758927902,
 | 
			
		||||
        "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "hyprlang",
 | 
			
		||||
        "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
 | 
			
		||||
        "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -557,11 +489,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749819919,
 | 
			
		||||
        "narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=",
 | 
			
		||||
        "lastModified": 1759619523,
 | 
			
		||||
        "narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "hyprutils",
 | 
			
		||||
        "rev": "57ab2a867d8b554ad89f29060c15efd11631db91",
 | 
			
		||||
        "rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -582,11 +514,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749145760,
 | 
			
		||||
        "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
 | 
			
		||||
        "lastModified": 1755184602,
 | 
			
		||||
        "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "hyprwayland-scanner",
 | 
			
		||||
        "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
 | 
			
		||||
        "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -611,13 +543,33 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nix-vscode-extensions": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-utils": "flake-utils",
 | 
			
		||||
        "nixpkgs": "nixpkgs_2"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1759936999,
 | 
			
		||||
        "narHash": "sha256-3HWI+eKHqTvIZ6lRy0e4z5gvPwHYsHntZ3fl7zivg8M=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "nix-vscode-extensions",
 | 
			
		||||
        "rev": "fd5c5549692ff4d2dbee1ab7eea19adc2f97baeb",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "nix-vscode-extensions",
 | 
			
		||||
        "rev": "fd5c5549692ff4d2dbee1ab7eea19adc2f97baeb",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749794982,
 | 
			
		||||
        "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
 | 
			
		||||
        "lastModified": 1759381078,
 | 
			
		||||
        "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
 | 
			
		||||
        "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -629,11 +581,11 @@
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs-unstable": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749794982,
 | 
			
		||||
        "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
 | 
			
		||||
        "lastModified": 1759831965,
 | 
			
		||||
        "narHash": "sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH+47XEBo=",
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
 | 
			
		||||
        "rev": "c9b6fb798541223bbb396d287d16f43520250518",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -645,11 +597,27 @@
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_2": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1750005367,
 | 
			
		||||
        "narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=",
 | 
			
		||||
        "lastModified": 1759770925,
 | 
			
		||||
        "narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=",
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3",
 | 
			
		||||
        "rev": "674c2b09c59a220204350ced584cadaacee30038",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "674c2b09c59a220204350ced584cadaacee30038",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_3": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1759994382,
 | 
			
		||||
        "narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -659,22 +627,48 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_3": {
 | 
			
		||||
    "nixpkgs_4": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1743703532,
 | 
			
		||||
        "narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=",
 | 
			
		||||
        "lastModified": 1751211869,
 | 
			
		||||
        "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "bdb91860de2f719b57eef819b5617762f7120c70",
 | 
			
		||||
        "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "ref": "nixos-24.11",
 | 
			
		||||
        "ref": "nixos-25.05",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nur": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-parts": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "flake-parts"
 | 
			
		||||
        ],
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ],
 | 
			
		||||
        "treefmt-nix": "treefmt-nix"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1751320053,
 | 
			
		||||
        "narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=",
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "NUR",
 | 
			
		||||
        "rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nix-community",
 | 
			
		||||
        "repo": "NUR",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "pre-commit-hooks": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-compat": "flake-compat",
 | 
			
		||||
@@ -685,11 +679,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749636823,
 | 
			
		||||
        "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=",
 | 
			
		||||
        "lastModified": 1758108966,
 | 
			
		||||
        "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
 | 
			
		||||
        "owner": "cachix",
 | 
			
		||||
        "repo": "git-hooks.nix",
 | 
			
		||||
        "rev": "623c56286de5a3193aa38891a6991b28f9bab056",
 | 
			
		||||
        "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -698,13 +692,35 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "quickshell": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1759997568,
 | 
			
		||||
        "narHash": "sha256-xQyzPkgpgjAceJKwZhLU2//Y1jAmvPGOq80svqkWFhQ=",
 | 
			
		||||
        "ref": "refs/heads/master",
 | 
			
		||||
        "rev": "3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6",
 | 
			
		||||
        "revCount": 691,
 | 
			
		||||
        "type": "git",
 | 
			
		||||
        "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "type": "git",
 | 
			
		||||
        "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "root": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "home-manager": "home-manager",
 | 
			
		||||
        "hyprland": "hyprland",
 | 
			
		||||
        "nix-flatpak": "nix-flatpak",
 | 
			
		||||
        "nixpkgs": "nixpkgs_2",
 | 
			
		||||
        "nix-vscode-extensions": "nix-vscode-extensions",
 | 
			
		||||
        "nixpkgs": "nixpkgs_3",
 | 
			
		||||
        "nixpkgs-unstable": "nixpkgs-unstable",
 | 
			
		||||
        "quickshell": "quickshell",
 | 
			
		||||
        "sops-nix": "sops-nix",
 | 
			
		||||
        "stylix": "stylix",
 | 
			
		||||
        "watt": "watt",
 | 
			
		||||
@@ -718,11 +734,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1750119275,
 | 
			
		||||
        "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
 | 
			
		||||
        "lastModified": 1759635238,
 | 
			
		||||
        "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=",
 | 
			
		||||
        "owner": "Mic92",
 | 
			
		||||
        "repo": "sops-nix",
 | 
			
		||||
        "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
 | 
			
		||||
        "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -738,28 +754,28 @@
 | 
			
		||||
        "base16-helix": "base16-helix",
 | 
			
		||||
        "base16-vim": "base16-vim",
 | 
			
		||||
        "firefox-gnome-theme": "firefox-gnome-theme",
 | 
			
		||||
        "flake-compat": "flake-compat_2",
 | 
			
		||||
        "flake-utils": "flake-utils",
 | 
			
		||||
        "git-hooks": "git-hooks",
 | 
			
		||||
        "flake-parts": "flake-parts",
 | 
			
		||||
        "gnome-shell": "gnome-shell",
 | 
			
		||||
        "home-manager": "home-manager_2",
 | 
			
		||||
        "nixpkgs": "nixpkgs_3",
 | 
			
		||||
        "systems": "systems_2",
 | 
			
		||||
        "nixpkgs": "nixpkgs_4",
 | 
			
		||||
        "nur": "nur",
 | 
			
		||||
        "systems": "systems_3",
 | 
			
		||||
        "tinted-foot": "tinted-foot",
 | 
			
		||||
        "tinted-kitty": "tinted-kitty",
 | 
			
		||||
        "tinted-tmux": "tinted-tmux"
 | 
			
		||||
        "tinted-schemes": "tinted-schemes",
 | 
			
		||||
        "tinted-tmux": "tinted-tmux",
 | 
			
		||||
        "tinted-zed": "tinted-zed"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1747771231,
 | 
			
		||||
        "narHash": "sha256-DYdmj22ZvkN5x9/VtdV5Wnze+UaPuboYraCPnOWn6u4=",
 | 
			
		||||
        "lastModified": 1759596342,
 | 
			
		||||
        "narHash": "sha256-1Eda1V8pjpviMdBTdDXrFp7jkaUokIgXgBYTZyzDODk=",
 | 
			
		||||
        "owner": "danth",
 | 
			
		||||
        "repo": "stylix",
 | 
			
		||||
        "rev": "66f554e4e32d804bcf2c007a7b7efef04a3773b0",
 | 
			
		||||
        "rev": "4d065856e936fc6a99ba55d39ac2df9ded6bedbe",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "danth",
 | 
			
		||||
        "ref": "release-24.11",
 | 
			
		||||
        "ref": "release-25.05",
 | 
			
		||||
        "repo": "stylix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
@@ -794,6 +810,21 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "systems_3": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1681028828,
 | 
			
		||||
        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
			
		||||
        "owner": "nix-systems",
 | 
			
		||||
        "repo": "default",
 | 
			
		||||
        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "nix-systems",
 | 
			
		||||
        "repo": "default",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "tinted-foot": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
@@ -814,28 +845,43 @@
 | 
			
		||||
    "tinted-kitty": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1716423189,
 | 
			
		||||
        "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
 | 
			
		||||
        "lastModified": 1735730497,
 | 
			
		||||
        "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "tinted-kitty",
 | 
			
		||||
        "rev": "eb39e141db14baef052893285df9f266df041ff8",
 | 
			
		||||
        "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "tinted-kitty",
 | 
			
		||||
        "rev": "eb39e141db14baef052893285df9f266df041ff8",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "tinted-schemes": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1750770351,
 | 
			
		||||
        "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "schemes",
 | 
			
		||||
        "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "schemes",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "tinted-tmux": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1743296873,
 | 
			
		||||
        "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=",
 | 
			
		||||
        "lastModified": 1751159871,
 | 
			
		||||
        "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "tinted-tmux",
 | 
			
		||||
        "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a",
 | 
			
		||||
        "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -844,6 +890,44 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "tinted-zed": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1751158968,
 | 
			
		||||
        "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "base16-zed",
 | 
			
		||||
        "rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "tinted-theming",
 | 
			
		||||
        "repo": "base16-zed",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "treefmt-nix": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "stylix",
 | 
			
		||||
          "nur",
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1733222881,
 | 
			
		||||
        "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "treefmt-nix",
 | 
			
		||||
        "rev": "49717b5af6f80172275d47a418c9719a31a78b53",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "treefmt-nix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "watt": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
@@ -893,11 +977,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1749490041,
 | 
			
		||||
        "narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=",
 | 
			
		||||
        "lastModified": 1755354946,
 | 
			
		||||
        "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
 | 
			
		||||
        "owner": "hyprwm",
 | 
			
		||||
        "repo": "xdg-desktop-portal-hyprland",
 | 
			
		||||
        "rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30",
 | 
			
		||||
        "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -908,17 +992,17 @@
 | 
			
		||||
    },
 | 
			
		||||
    "zen-browser": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "home-manager": "home-manager_3",
 | 
			
		||||
        "home-manager": "home-manager_2",
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1750130285,
 | 
			
		||||
        "narHash": "sha256-fauK56RkWQcNaDOehxxE2lcmNG0Vi++4KWlFQIJm4QE=",
 | 
			
		||||
        "lastModified": 1759965431,
 | 
			
		||||
        "narHash": "sha256-HvXr+rOkSZeseOYCruuMKMAUedcDkHOuYpFbnlIPs8Y=",
 | 
			
		||||
        "owner": "0xc000022070",
 | 
			
		||||
        "repo": "zen-browser-flake",
 | 
			
		||||
        "rev": "00b7edda741d3380fa123f053efd59774361d888",
 | 
			
		||||
        "rev": "391a133511ad7e09651b9c3939d8cf8d379766b1",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								flake.nix
									
									
									
									
									
								
							@@ -11,7 +11,7 @@
 | 
			
		||||
    nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
 | 
			
		||||
    # hyprland, plugins and related utils
 | 
			
		||||
    hyprland.url = "github:hyprwm/Hyprland";
 | 
			
		||||
    stylix.url = "github:danth/stylix/release-24.11";
 | 
			
		||||
    stylix.url = "github:danth/stylix/release-25.05";
 | 
			
		||||
    # zen browser
 | 
			
		||||
    zen-browser.url = "github:0xc000022070/zen-browser-flake";
 | 
			
		||||
    # IMPORTANT: we're using "libgbm" and is only available in unstable so ensure
 | 
			
		||||
@@ -27,14 +27,24 @@
 | 
			
		||||
    # secrets
 | 
			
		||||
    sops-nix.url = "github:Mic92/sops-nix";
 | 
			
		||||
    sops-nix.inputs.nixpkgs.follows = "nixpkgs";
 | 
			
		||||
 | 
			
		||||
    # quickshell
 | 
			
		||||
    quickshell = {
 | 
			
		||||
      url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
 | 
			
		||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
			
		||||
    };
 | 
			
		||||
    nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions/fd5c5549692ff4d2dbee1ab7eea19adc2f97baeb";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = {
 | 
			
		||||
    self,
 | 
			
		||||
    nixpkgs,
 | 
			
		||||
    nixpkgs-unstable,
 | 
			
		||||
    home-manager,
 | 
			
		||||
    stylix,
 | 
			
		||||
    sops-nix,
 | 
			
		||||
    quickshell,
 | 
			
		||||
    nix-vscode-extensions,
 | 
			
		||||
    ...
 | 
			
		||||
  } @ inputs:
 | 
			
		||||
    let
 | 
			
		||||
@@ -50,7 +60,6 @@
 | 
			
		||||
      modules = [
 | 
			
		||||
        ./hosts/spectre-x360-2018
 | 
			
		||||
        stylix.nixosModules.stylix
 | 
			
		||||
        inputs.watt.nixosModules.default
 | 
			
		||||
        home-manager.nixosModules.home-manager
 | 
			
		||||
          {
 | 
			
		||||
            home-manager.useGlobalPkgs = true;
 | 
			
		||||
@@ -73,7 +82,6 @@
 | 
			
		||||
      modules = [
 | 
			
		||||
        ./hosts/mobile-usb
 | 
			
		||||
        stylix.nixosModules.stylix
 | 
			
		||||
        inputs.watt.nixosModules.default
 | 
			
		||||
        home-manager.nixosModules.home-manager
 | 
			
		||||
          {
 | 
			
		||||
            home-manager.useGlobalPkgs = true;
 | 
			
		||||
@@ -94,12 +102,17 @@
 | 
			
		||||
      specialArgs = { inherit inputs; };
 | 
			
		||||
 | 
			
		||||
      modules = [
 | 
			
		||||
        {
 | 
			
		||||
          nixpkgs.overlays = [
 | 
			
		||||
            inputs.nix-vscode-extensions.overlays.default
 | 
			
		||||
          ];
 | 
			
		||||
        }
 | 
			
		||||
        ./hosts/yoga-7-pro
 | 
			
		||||
        sops-nix.nixosModules.sops
 | 
			
		||||
        stylix.nixosModules.stylix
 | 
			
		||||
        inputs.watt.nixosModules.default
 | 
			
		||||
        home-manager.nixosModules.home-manager
 | 
			
		||||
          {
 | 
			
		||||
            home-manager.backupFileExtension = ".backup";
 | 
			
		||||
            home-manager.useGlobalPkgs = true;
 | 
			
		||||
            home-manager.useUserPackages = true;
 | 
			
		||||
            home-manager.extraSpecialArgs = { inherit inputs; };
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
            networking.hostName = "nichts";
 | 
			
		||||
 | 
			
		||||
            userName = "remy";
 | 
			
		||||
            gnome.enabled = true;
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
@@ -13,11 +14,12 @@
 | 
			
		||||
        ./configuration.nix
 | 
			
		||||
        ./hardware-configuration.nix
 | 
			
		||||
 | 
			
		||||
        # ../../modules/nixos/backup.nix
 | 
			
		||||
        ../../modules/nixos/bluetooth.nix
 | 
			
		||||
        ../../modules/nixos/flakes.nix
 | 
			
		||||
        ../../modules/nixos/flatpak.nix
 | 
			
		||||
        ../../modules/nixos/fonts.nix
 | 
			
		||||
        ../../modules/nixos/hyprland.nix
 | 
			
		||||
        ../../modules/nixos/gnome.nix
 | 
			
		||||
        ../../modules/nixos/language.nix
 | 
			
		||||
        ../../modules/nixos/ld.nix
 | 
			
		||||
        ../../modules/nixos/monitoring.nix
 | 
			
		||||
@@ -27,12 +29,11 @@
 | 
			
		||||
        ../../modules/nixos/podman.nix
 | 
			
		||||
        ../../modules/nixos/power.nix
 | 
			
		||||
        ../../modules/nixos/stylix.nix
 | 
			
		||||
        ../../modules/nixos/usb_config.nix
 | 
			
		||||
        ../../modules/nixos/user.nix
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        ../../utils/binary-cache.nix
 | 
			
		||||
        ../../utils/garbage-collection.nix
 | 
			
		||||
        ../../utils/unfree.nix
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ Installed using
 | 
			
		||||
> sudo nixos-install --root /tmp/new-install/ --flake .#nyx --impure --no-root-passwd
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
where `/tmp/new-install` was the moint point of the target FS.
 | 
			
		||||
where `/tmp/new-install` was the mount point of the target FS.
 | 
			
		||||
 | 
			
		||||
The root user is effectively deactivated, hence the additional setup:
 | 
			
		||||
- users are part of the `wheel` group
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,25 @@
 | 
			
		||||
  boot.initrd.kernelModules = [ ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-amd" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
  boot.kernelPackages = pkgs.linuxPackages_latest;
 | 
			
		||||
  boot.kernelParams = [
 | 
			
		||||
    "quiet"
 | 
			
		||||
    "splash"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # https://github.com/lwfinger/rtw89/issues/240
 | 
			
		||||
  # boot.extraModprobeConfig = ''
 | 
			
		||||
  #   options rtw89_pci disable_aspm_l1ss=y disable_aspm_l1=y disable_clkreq=y
 | 
			
		||||
  #   options rtw89_core disable_ps_mode=y
 | 
			
		||||
  # '';
 | 
			
		||||
 | 
			
		||||
  # ipu is apparently required to make the webcam available as a camera device
 | 
			
		||||
  hardware.ipu6 = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    platform = "ipu6";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  services.fwupd.enable = true;
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1";
 | 
			
		||||
@@ -37,23 +56,26 @@
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  # TODO - only enable this if the user remy exists
 | 
			
		||||
  fileSystems."/home/${config.nix-config.userName}/scratch" =
 | 
			
		||||
  fileSystems."/scratch/${config.nix-config.userName}" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1";
 | 
			
		||||
      fsType = "btrfs";
 | 
			
		||||
      options = [ "subvol=@scratch" ];
 | 
			
		||||
      options = [
 | 
			
		||||
        "subvol=@scratch"
 | 
			
		||||
        # Even though the mount point is not in home, we still want to show it in gnome-related file managers
 | 
			
		||||
        "x-gvfs-show"
 | 
			
		||||
        "x-gvfs-name=scratch"
 | 
			
		||||
        "x-gvfs-icon=view-refresh"
 | 
			
		||||
        ];
 | 
			
		||||
      # TODO make it owned by the user
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [ ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
  # still possible to use this option, but it's recommended to use it in conjunction
 | 
			
		||||
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface.
 | 
			
		||||
  networking.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.wireguard-home.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								modules/home-manager/bluetooth-picker.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								modules/home-manager/bluetooth-picker.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
{pkgs, ...}:
 | 
			
		||||
{
 | 
			
		||||
    home.packages = [
 | 
			
		||||
        pkgs.rofi-bluetooth
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    # patch the rofi-bluetooth script to use an alternative rofi-command variable
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -1,26 +1,33 @@
 | 
			
		||||
{pkgs, ...}:
 | 
			
		||||
let
 | 
			
		||||
  baseExtensions = with pkgs.vscode-extensions; [
 | 
			
		||||
  baseExtensions = with pkgs.vscode-marketplace; [
 | 
			
		||||
    # QOL
 | 
			
		||||
    mhutchie.git-graph
 | 
			
		||||
    redhat.vscode-yaml
 | 
			
		||||
    github.copilot
 | 
			
		||||
    github.copilot-chat
 | 
			
		||||
 | 
			
		||||
    # github.copilot
 | 
			
		||||
    # github.copilot-chat
 | 
			
		||||
    # Nix environment selector
 | 
			
		||||
    arrterian.nix-env-selector
 | 
			
		||||
    continue.continue
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  baseSettings = {
 | 
			
		||||
    # visual
 | 
			
		||||
    "window.menuBarVisibility" = "toggle";
 | 
			
		||||
    "window.titleBarStyle" = "native";
 | 
			
		||||
    "window.customTitleBarVisibility" = "never";
 | 
			
		||||
    "window.menuBarVisibility" = "hidden";
 | 
			
		||||
 | 
			
		||||
    "window.autoDetectColorScheme" = true;
 | 
			
		||||
    "workbench.preferredDarkColorTheme" = "Default Dark Modern";
 | 
			
		||||
    "workbench.preferredLightColorTheme" = "Default Light Modern";
 | 
			
		||||
 | 
			
		||||
    "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
 | 
			
		||||
    "terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono";
 | 
			
		||||
    "workbench.iconTheme" = "vs-seti";
 | 
			
		||||
 | 
			
		||||
    # telemetry
 | 
			
		||||
    "telemetry.enableCrashReporter" = false;
 | 
			
		||||
    "telemetry.enableTelemetry" = false;
 | 
			
		||||
    "telemetry.telemetryLevel" = "off";
 | 
			
		||||
    "redhat.telemetry.enabled" = false;
 | 
			
		||||
 | 
			
		||||
    # editor QOL
 | 
			
		||||
@@ -86,17 +93,16 @@ in
 | 
			
		||||
{
 | 
			
		||||
  programs.vscode = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    # install vscode in a FHS environment to allow extensions with prebuilt binaries
 | 
			
		||||
    # package = pkgs.vscode.fhs;
 | 
			
		||||
 | 
			
		||||
    profiles.default = {
 | 
			
		||||
      userSettings = baseSettings // {
 | 
			
		||||
        "window.newWindowProfile" = "development";
 | 
			
		||||
      };
 | 
			
		||||
      extensions = [];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    profiles.development = {
 | 
			
		||||
      extensions = baseExtensions ++ (with pkgs.vscode-extensions; [
 | 
			
		||||
      extensions = baseExtensions ++ (with pkgs.vscode-marketplace; [
 | 
			
		||||
        # python
 | 
			
		||||
        ms-python.python
 | 
			
		||||
        ms-python.isort
 | 
			
		||||
@@ -119,31 +125,19 @@ in
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    profiles.science = {
 | 
			
		||||
      extensions = baseExtensions ++ (with pkgs.vscode-extensions; [
 | 
			
		||||
      extensions = baseExtensions ++ (with pkgs.vscode-marketplace; [
 | 
			
		||||
        # python + jupyter
 | 
			
		||||
        ms-python.python
 | 
			
		||||
        ms-python.isort
 | 
			
		||||
        ms-python.debugpy
 | 
			
		||||
        ms-python.vscode-pylance
 | 
			
		||||
        ms-toolsai.vscode-jupyter-slideshow
 | 
			
		||||
        ms-toolsai.jupyter
 | 
			
		||||
        ms-toolsai.jupyter-hub
 | 
			
		||||
        ms-toolsai.jupyter-renderers
 | 
			
		||||
 | 
			
		||||
        # Typst
 | 
			
		||||
        myriad-dreamin.tinymist
 | 
			
		||||
      ])  ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
 | 
			
		||||
        {
 | 
			
		||||
          name = "jupyter";
 | 
			
		||||
          publisher = "ms-toolsai";
 | 
			
		||||
          version = "2025.3.2025032101";
 | 
			
		||||
          sha256 = "sha256-s2qEUl9J6EOije6MasZOnHErYs3NYXBqLSfMT03vEH0=";
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          name = "jupyter-hub";
 | 
			
		||||
          publisher = "ms-toolsai";
 | 
			
		||||
          version = "2024.10.1002831100";
 | 
			
		||||
          sha256 = "sha256-5IRczwXbYkDdYEOXvQnnH+HJNLvsRsrZ6fnoVCveqrs=";
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
      ]);
 | 
			
		||||
 | 
			
		||||
      keybindings = baseKeybindings ++ [
 | 
			
		||||
        # run code cell in jupyter
 | 
			
		||||
@@ -174,7 +168,6 @@ in
 | 
			
		||||
            "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
			
		||||
        };
 | 
			
		||||
        "[typst-code]" = {
 | 
			
		||||
        "git.openRepositoryInParentFolders" = "never";
 | 
			
		||||
            "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
			
		||||
        };
 | 
			
		||||
        "tinymist.fontPaths" = [
 | 
			
		||||
@@ -183,10 +176,7 @@ in
 | 
			
		||||
        "workbench.colorCustomizations" = {
 | 
			
		||||
          "statusBar.background" = "#003f9293";
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@
 | 
			
		||||
  services.flatpak.uninstallUnmanaged = false;
 | 
			
		||||
 | 
			
		||||
  services.flatpak.packages = [
 | 
			
		||||
    "com.github.flxzt.rnote"
 | 
			
		||||
    "com.github.tchx84.Flatseal"
 | 
			
		||||
    "com.spotify.Client"
 | 
			
		||||
    "io.podman_desktop.PodmanDesktop"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								modules/home-manager/fusuma.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								modules/home-manager/fusuma.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
{pkgs, config, lib, ...}:
 | 
			
		||||
let
 | 
			
		||||
  hyprctl = "${pkgs.hyprland}/bin/hyprctl";
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
    services.fusuma = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        swipe = {
 | 
			
		||||
          "3" = {
 | 
			
		||||
            up = {
 | 
			
		||||
              command = "exec ${hyprctl} dispatch fullscreen 1";
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            down = {
 | 
			
		||||
              command = "exec ${lib.getExe config.nix-config.launcher}";
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        pinch = {
 | 
			
		||||
          "4" = {
 | 
			
		||||
            "in" = {
 | 
			
		||||
              command = "exec ${hyprctl} dispatch togglespecialworkspace magic";
 | 
			
		||||
            };
 | 
			
		||||
            "out" = {
 | 
			
		||||
              command = "exec ${hyprctl} dispatch togglespecialworkspace magic";
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        hold = {
 | 
			
		||||
          "5" = {
 | 
			
		||||
            command = "exec ${lib.getExe config.nix-config.launcher}";
 | 
			
		||||
            threshold = 0.1;
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        threshold = {
 | 
			
		||||
          pinch = 0.1;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -4,9 +4,9 @@
 | 
			
		||||
    enable = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
      general = {
 | 
			
		||||
        # avoid starting multiple hyprlock instances.
 | 
			
		||||
        before_sleep_cmd = "pidof hyprlock || hyprlock --immediate-render --no-fade-in";
 | 
			
		||||
        lock_cmd = "pidof hyprlock || hyprlock --immediate-render --no-fade-in";
 | 
			
		||||
        # See: https://github.com/hyprwm/hypridle/issues/146
 | 
			
		||||
        before_sleep_cmd = "hyprlock --no-fade-in";
 | 
			
		||||
        lock_cmd = "hyprlock";
 | 
			
		||||
        after_sleep_cmd = "hyprctl dispatch dpms on";
 | 
			
		||||
        ignore_dbus_inhibit = false;
 | 
			
		||||
      };
 | 
			
		||||
@@ -22,7 +22,7 @@
 | 
			
		||||
        {
 | 
			
		||||
          # dim screen after 2 minutes
 | 
			
		||||
          timeout = 120;
 | 
			
		||||
          on-timeout = "brightnessctl -s set 2";
 | 
			
		||||
          on-timeout = "brightnessctl -s set 2%";
 | 
			
		||||
          on-resume = "brightnessctl -r";
 | 
			
		||||
          # monitor backlight restore.
 | 
			
		||||
        }
 | 
			
		||||
@@ -40,6 +40,5 @@
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ in
 | 
			
		||||
        "wl-paste --watch cliphist store"
 | 
			
		||||
        "${lib.getExe pkgs.waybar}"
 | 
			
		||||
        "${lib.getExe pkgs.hypridle}"
 | 
			
		||||
        # TODO - currently broken
 | 
			
		||||
        "${pkgs.owncloud-client}"
 | 
			
		||||
        "${lib.getExe pkgs.keepassxc}"
 | 
			
		||||
      ];
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,9 @@ in
 | 
			
		||||
      enable = true;
 | 
			
		||||
      systemd.enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        # debug = {
 | 
			
		||||
        #   disable_logs = false;
 | 
			
		||||
        # };
 | 
			
		||||
        general = {
 | 
			
		||||
          resize_on_border = true;
 | 
			
		||||
          gaps_in = 5;
 | 
			
		||||
@@ -98,6 +101,9 @@ in
 | 
			
		||||
        # the internal monitor, always at the "center"
 | 
			
		||||
        "eDP-1, ${cfg.internal-screen.resolution}, 0x0, ${cfg.internal-screen.scale}"
 | 
			
		||||
 | 
			
		||||
        # ultra wide monitor at home
 | 
			
		||||
        "desc:Samsung Electric Company C34H89x H4ZN501178, 3440x1440@99.98, auto-up, 1"
 | 
			
		||||
 | 
			
		||||
        # Samsung monitors at irchel (matching the description)
 | 
			
		||||
        "desc:Samsung Electric Company LS27D80xU, 2560x1440@59.95, auto-up, 1"
 | 
			
		||||
 | 
			
		||||
@@ -126,7 +132,7 @@ in
 | 
			
		||||
        # Global overview
 | 
			
		||||
        pkgs.hyprlandPlugins.hyprspace
 | 
			
		||||
        # Touch gestures
 | 
			
		||||
        pkgs.hyprlandPlugins.hyprgrass
 | 
			
		||||
        # pkgs.hyprlandPlugins.hyprgrass
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ in
 | 
			
		||||
          # Close window
 | 
			
		||||
          "$mod, Q, killactive,"
 | 
			
		||||
          # Force close window
 | 
			
		||||
          # "$mod+Shift, Q, forcekillactive,"
 | 
			
		||||
          "$mod+Shift, Q, forcekillactive,"
 | 
			
		||||
 | 
			
		||||
          # Toggle Floating and reduce size
 | 
			
		||||
          "$mod, f, togglefloating,"
 | 
			
		||||
@@ -49,21 +49,25 @@ in
 | 
			
		||||
          "$mod+Shift, up, movewindow, u"
 | 
			
		||||
          "$mod+Shift, down, movewindow, d"
 | 
			
		||||
 | 
			
		||||
          # Move window to workspace
 | 
			
		||||
          "$mod+Ctrl, left, movetoworkspace, -1"
 | 
			
		||||
          "$mod+Ctrl, right, movetoworkspace, +1"
 | 
			
		||||
 | 
			
		||||
          # Switch workspace
 | 
			
		||||
          "$mod+Alt, left, workspace, -1"
 | 
			
		||||
          "$mod+Alt, right, workspace, +1"
 | 
			
		||||
          "$mod, left, workspace, -1"
 | 
			
		||||
          "$mod, right, workspace, +1"
 | 
			
		||||
          "$mod, mouse_down, workspace, -1"
 | 
			
		||||
          "$mod, mouse_up, workspace, +1"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
          # move to scratch workspace
 | 
			
		||||
          "$mod+Ctrl, up, movetoworkspace, special:magic"
 | 
			
		||||
          "$mod+Ctrl, down, movetoworkspace, 1"
 | 
			
		||||
          # toggle scratch workspace
 | 
			
		||||
          "$mod+Alt, up, togglespecialworkspace, magic"
 | 
			
		||||
          "$mod+Alt, down, togglespecialworkspace, magic"
 | 
			
		||||
          "$mod+Ctrl, down, movetoworkspace, prev"
 | 
			
		||||
 | 
			
		||||
          # switch to scratch workspace
 | 
			
		||||
          "$mod, up, togglespecialworkspace, magic"
 | 
			
		||||
          "$mod, down, togglespecialworkspace, magic"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
          # Screenshot
 | 
			
		||||
          "$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
 | 
			
		||||
@@ -80,7 +84,7 @@ in
 | 
			
		||||
 | 
			
		||||
          # Other pickers using the same launcher
 | 
			
		||||
          "$mod+Ctrl, space, exec, ${lib.getExe config.nix-config.filePicker}"
 | 
			
		||||
 | 
			
		||||
          "$mod, period, exec, ${lib.getExe config.nix-config.emojiPicker}"
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        # repeatable bindings
 | 
			
		||||
@@ -97,25 +101,26 @@ in
 | 
			
		||||
          "$mod, KP_Subtract, resizeactive, -2% -2%"
 | 
			
		||||
          "$mod, PLUS, resizeactive, 2% 2%"
 | 
			
		||||
          "$mod, KP_Add, resizeactive, 2% 2%"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        # lock-screen bindings
 | 
			
		||||
        bindl = [
 | 
			
		||||
          ## depending on the setup: lock screen or switch to clamshell mode
 | 
			
		||||
          # in any case, the internal screen is turned off
 | 
			
		||||
          # ", switch:on:Lid Switch, exec, loginctl lock-session"
 | 
			
		||||
          ", XF86PowerOff, exec, hyprctl dispatch dpms on eDP-1"
 | 
			
		||||
          ## depending on the setup we expect different behaviors when closing the lid:
 | 
			
		||||
          # either sleep & lock screen OR switch to clamshell mode
 | 
			
		||||
          # through the `services.logind.lidSwitch` and `services.logind.lidSwitchDocked` we can differentiate both cases
 | 
			
		||||
          # when not docked, the system is put to sleep and the screen is implicitly locked as per the hypridle configuration
 | 
			
		||||
          # when docked, the lid switch is ignored by logind and needs to be handled manually, see below:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
          # if an additional monitor is detected, simply deactivate the internal screen and continue working on the external monitor
 | 
			
		||||
          ", switch:on:Lid Switch, exec, hyprctl dispatch dpms off eDP-1"
 | 
			
		||||
          ", switch:on:Lid Switch, exec, sleep 0.5; hyprctl monitors | grep 'dpmsStatus: 1' && hyprctl keyword monitor 'eDP-1,disable'"
 | 
			
		||||
          # # if no external monitor is detected, lock the screen
 | 
			
		||||
          # ", switch:on:Lid Switch, exec, sleep 0.5; hyprctl monitors | grep 'dpmsStatus: 1' || loginctl lock-session"
 | 
			
		||||
 | 
			
		||||
          ", switch:on:Lid Switch, exec, hyprctl keyword monitor 'eDP-1,disable"
 | 
			
		||||
          ## on reopening the lid, turn the internal screen back on
 | 
			
		||||
          ", switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1"
 | 
			
		||||
          # if an external monitor was connected, then we need to reload the monitor configuration
 | 
			
		||||
          ", switch:off:Lid Switch, exec, hyprctl monitors | grep 'ID 1' && hyprctl reload"
 | 
			
		||||
          # we need to reload the monitor configuration so that the internal screen is turned back on
 | 
			
		||||
          ", switch:off:Lid Switch, exec, hyprctl reload"
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        # bindr = [
 | 
			
		||||
@@ -129,7 +134,21 @@ in
 | 
			
		||||
          # resize the window using right click
 | 
			
		||||
          "$mod, mouse:273, resizewindow"
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      extraConfig = ''
 | 
			
		||||
        bind= , XF86AudioMicMute, submap, player_submap
 | 
			
		||||
 | 
			
		||||
        submap=player_submap
 | 
			
		||||
        bind=, XF86AudioRaiseVolume, exec, notify-send previous; hyprctl dispatch submap reset
 | 
			
		||||
        bind=, XF86AudioLowerVolume, exec, notify-send next; hyprctl dispatch submap reset
 | 
			
		||||
        bind=, XF86AudioMicMute, exec, notify-send pause; hyprctl dispatch submap reset
 | 
			
		||||
        submap=reset
 | 
			
		||||
      '';
 | 
			
		||||
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -5,16 +5,12 @@
 | 
			
		||||
    settings = {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      # # prevent the screen being shown for a split second
 | 
			
		||||
      # animations = {
 | 
			
		||||
      #   animation = "fadeIn, 0, 0, linear";
 | 
			
		||||
      # };
 | 
			
		||||
 | 
			
		||||
      general = {
 | 
			
		||||
        # immediately lock the screen
 | 
			
		||||
        grace = 0;
 | 
			
		||||
        no_fade_in = false;
 | 
			
		||||
        disable_loading_bar = false;
 | 
			
		||||
        # no_fade_in = false;
 | 
			
		||||
        # disable_loading_bar = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      background =  {
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,6 @@ in
 | 
			
		||||
 | 
			
		||||
    config = {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        # required to autoload fonts from packages installed via Home Manager
 | 
			
		||||
        fonts.fontconfig.enable = true;
 | 
			
		||||
 | 
			
		||||
@@ -85,14 +84,17 @@ in
 | 
			
		||||
                        };
 | 
			
		||||
                    };
 | 
			
		||||
                    "clock" = {
 | 
			
		||||
                        format = " {:%H:%M}";
 | 
			
		||||
                        format = "{:%H:%M}";
 | 
			
		||||
                        interval = 1;
 | 
			
		||||
                        tooltip-format = "{calendar}";
 | 
			
		||||
                        calendar = {
 | 
			
		||||
                            "format" = {
 | 
			
		||||
                                "today" = "<span color='#fAfBfC'><b>{}</b></span>";
 | 
			
		||||
                            };
 | 
			
		||||
                        };
 | 
			
		||||
                        # calendar = {
 | 
			
		||||
                        #     format = "%Y-%m-%d\n %A\n\n%H:%M";
 | 
			
		||||
                        #     start-day = 1; # Monday
 | 
			
		||||
                        #     first-weekday = 1; # Monday
 | 
			
		||||
                        #     week-number = false;
 | 
			
		||||
                        #     long-weekdays = true;
 | 
			
		||||
                        #     hide-if-empty = false;
 | 
			
		||||
                        # };
 | 
			
		||||
                    };
 | 
			
		||||
                    "idle_inhibitor" = {
 | 
			
		||||
                        format = "{icon}";
 | 
			
		||||
@@ -104,7 +106,7 @@ in
 | 
			
		||||
                    };
 | 
			
		||||
                    "bluetooth" = {
 | 
			
		||||
                        format-on = "";
 | 
			
		||||
                        format-off = "BT-off";
 | 
			
		||||
                        format-off = "";
 | 
			
		||||
                        format-disabled = "";
 | 
			
		||||
                        format-connected-battery = "{device_battery_percentage}% ";
 | 
			
		||||
                        format-alt = "{device_alias} ";
 | 
			
		||||
@@ -137,7 +139,7 @@ in
 | 
			
		||||
                        format = "{volume}% {icon}";# {format_source}";
 | 
			
		||||
                        format-bluetooth = "{volume}% {icon}";# {format_source}";
 | 
			
		||||
                        format-bluetooth-muted = " {icon}";# {format_source}";
 | 
			
		||||
                        format-muted = "🔇";# {format_source}";
 | 
			
		||||
                        format-muted = "";# {format_source}";
 | 
			
		||||
                        format-alt = "{format_source} {icon}";
 | 
			
		||||
                        # format-source = " {volume}%";
 | 
			
		||||
                        # format-source-muted = "";
 | 
			
		||||
 
 | 
			
		||||
@@ -47,6 +47,8 @@ in
 | 
			
		||||
            cursor_trail_decay = "0.1 0.4";
 | 
			
		||||
            url_style = "curly";
 | 
			
		||||
            notify_on_cmd_finish = "unfocused";
 | 
			
		||||
 | 
			
		||||
            window_padding_width = 5;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        keybindings = {
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,10 @@ let
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  emojiPicker = pkgs.writeShellScriptBin "emoji-picker" ''
 | 
			
		||||
    curl -s https://raw.githubusercontent.com/littleboycoding/emoji-dmenu/refs/heads/master/emoji.txt | fuzzel --dmenu | cut -d ' ' -f 1 | wl-copy
 | 
			
		||||
  '';
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@@ -54,6 +58,12 @@ in
 | 
			
		||||
      type = lib.types.package;
 | 
			
		||||
      default = filePicker;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    emojiPicker = lib.mkOption {
 | 
			
		||||
      description = "Package to use as a emoji picker";
 | 
			
		||||
      type = lib.types.package;
 | 
			
		||||
      default = emojiPicker;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = {
 | 
			
		||||
@@ -107,6 +117,7 @@ in
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      powerMenu
 | 
			
		||||
      filePicker
 | 
			
		||||
      emojiPicker
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								modules/home-manager/quickshell/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								modules/home-manager/quickshell/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  inputs,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  builtins,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.nix-config.quickshell;
 | 
			
		||||
  qs = inputs.quickshell.packages.x86_64-linux.default;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.nix-config.quickshell.enable = lib.mkEnableOption {
 | 
			
		||||
    name = "quickshell";
 | 
			
		||||
    description = "Whether to enable quickshell.";
 | 
			
		||||
    default = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    home.packages = [
 | 
			
		||||
      qs
 | 
			
		||||
      pkgs.qt6.qtimageformats
 | 
			
		||||
      pkgs.qt6.qt5compat
 | 
			
		||||
      pkgs.qt6.qtmultimedia
 | 
			
		||||
      pkgs.qt6.qtdeclarative
 | 
			
		||||
      pkgs.qt6.qtsvg
 | 
			
		||||
      pkgs.qt6.qtwayland
 | 
			
		||||
      pkgs.qt6.qtbase
 | 
			
		||||
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    # add the quickshell config (whole directory) to XDG_CONFIG_HOME
 | 
			
		||||
    # home.file.".config/quickshell/config".source = ./config;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -52,7 +52,8 @@ in
 | 
			
		||||
 | 
			
		||||
        stylix = {
 | 
			
		||||
            # Stylix is already enabled since the system is configured to use it
 | 
			
		||||
            # enable = true;
 | 
			
		||||
            enable = true;
 | 
			
		||||
            image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
 | 
			
		||||
            # don't theme applications by default
 | 
			
		||||
            autoEnable = false;
 | 
			
		||||
 | 
			
		||||
@@ -68,8 +69,8 @@ in
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
 | 
			
		||||
 | 
			
		||||
            polarity = lib.mkDefault "dark";
 | 
			
		||||
 | 
			
		||||
            fonts = {
 | 
			
		||||
 | 
			
		||||
@@ -107,41 +108,75 @@ in
 | 
			
		||||
                popups = 0.9;
 | 
			
		||||
                terminal = cfg.terminalOpacity;
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            base16Scheme = {
 | 
			
		||||
                scheme = "onelight";
 | 
			
		||||
                author = "https://github.com/one-dark";
 | 
			
		||||
                base00 = "#fafafa";
 | 
			
		||||
                base01 = "#f4f4f4";
 | 
			
		||||
                base02 = "#e5e5e6";
 | 
			
		||||
                base03 = "#dfdfe0";
 | 
			
		||||
                base04 = "#d7d7d8";
 | 
			
		||||
                base05 = "#383a42";
 | 
			
		||||
                base06 = "#202227";
 | 
			
		||||
                base07 = "#090a0b";
 | 
			
		||||
                base08 = "#d84a3d";
 | 
			
		||||
                base09 = "#a626a4";
 | 
			
		||||
                base0A = "#c18401";
 | 
			
		||||
                base0B = "#50a14f";
 | 
			
		||||
                base0C = "#0070a8";
 | 
			
		||||
                base0D = "#4078f2";
 | 
			
		||||
                base0E = "#a626a4";
 | 
			
		||||
                base0F = "#986801";
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            targets = {
 | 
			
		||||
                hyprpaper.enable = true;
 | 
			
		||||
                hyprlock.enable = true;
 | 
			
		||||
                # disabled because they overwrite too many settings
 | 
			
		||||
                # gnome
 | 
			
		||||
                # wofi
 | 
			
		||||
                # vscode
 | 
			
		||||
                # waybar
 | 
			
		||||
                # kitty
 | 
			
		||||
 | 
			
		||||
                fontconfig.enable = true;
 | 
			
		||||
                font-packages.enable = true;
 | 
			
		||||
 | 
			
		||||
            };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        stylix.base16Scheme = {
 | 
			
		||||
            scheme = "onelight";
 | 
			
		||||
            author = "https://github.com/one-dark";
 | 
			
		||||
            base00 = "#fafafa";
 | 
			
		||||
            base01 = "#f4f4f4";
 | 
			
		||||
            base02 = "#e5e5e6";
 | 
			
		||||
            base03 = "#dfdfe0";
 | 
			
		||||
            base04 = "#d7d7d8";
 | 
			
		||||
            base05 = "#383a42";
 | 
			
		||||
            base06 = "#202227";
 | 
			
		||||
            base07 = "#090a0b";
 | 
			
		||||
            base08 = "#d84a3d";
 | 
			
		||||
            base09 = "#a626a4";
 | 
			
		||||
            base0A = "#c18401";
 | 
			
		||||
            base0B = "#50a14f";
 | 
			
		||||
            base0C = "#0070a8";
 | 
			
		||||
            base0D = "#4078f2";
 | 
			
		||||
            base0E = "#a626a4";
 | 
			
		||||
            base0F = "#986801";
 | 
			
		||||
 | 
			
		||||
        };
 | 
			
		||||
        # https://pltanton.dev/posts/2024/02/nix-based-dark-light-theme-switch/
 | 
			
		||||
        home.packages = [
 | 
			
		||||
            (lib.lowPrio (pkgs.writeShellApplication {
 | 
			
		||||
                name = "toggle-theme";
 | 
			
		||||
                runtimeInputs = with pkgs; [ home-manager coreutils ripgrep ];
 | 
			
		||||
                text =
 | 
			
		||||
                ''
 | 
			
		||||
                    "$(home-manager generations | head -1 | rg -o '/[^ ]*')"/specialisation/light-theme/activate
 | 
			
		||||
                    echo "Switched to light theme"
 | 
			
		||||
                '';
 | 
			
		||||
            }))
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        stylix.targets = {
 | 
			
		||||
            hyprpaper.enable = true;
 | 
			
		||||
            hyprlock.enable = true;
 | 
			
		||||
            gnome.enable = true;
 | 
			
		||||
 | 
			
		||||
            # disabled because they overwrite too many settings
 | 
			
		||||
            # wofi.enable = true;
 | 
			
		||||
            # vscode.enable = true;
 | 
			
		||||
            # waybar.enable = true;
 | 
			
		||||
            # kitty.enable = true;
 | 
			
		||||
        specialisation.light-theme.configuration = {
 | 
			
		||||
            stylix = {
 | 
			
		||||
                polarity = "light";
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            home.packages = [
 | 
			
		||||
                (lib.hiPrio (pkgs.writeShellApplication {
 | 
			
		||||
                name = "toggle-theme";
 | 
			
		||||
                runtimeInputs = with pkgs; [ home-manager coreutils ripgrep ];
 | 
			
		||||
                text =
 | 
			
		||||
                    ''
 | 
			
		||||
                    "$(home-manager generations | head -2 | tail -1 | rg -o '/[^ ]*')"/activate
 | 
			
		||||
                    echo "Switched to dark theme"
 | 
			
		||||
                    '';
 | 
			
		||||
                }))
 | 
			
		||||
            ];
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -26,17 +26,6 @@
 | 
			
		||||
 | 
			
		||||
  hardware.bluetooth = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    # powerOnBoot = true;
 | 
			
		||||
    # settings = {
 | 
			
		||||
    #   General = {
 | 
			
		||||
    #     Name = "Nixtre";
 | 
			
		||||
    #     ControllerMode = "dual";
 | 
			
		||||
    #     FastConnectable = "true";
 | 
			
		||||
    #     Experimental = "true";
 | 
			
		||||
    #   };
 | 
			
		||||
    #   Policy = {
 | 
			
		||||
    #     AutoEnable = "true";
 | 
			
		||||
    #   };
 | 
			
		||||
    # };
 | 
			
		||||
    powerOnBoot = false;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								modules/nixos/gnome.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								modules/nixos/gnome.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  options.nix-config.gnome.enable = lib.mkOption {
 | 
			
		||||
    type = lib.types.bool;
 | 
			
		||||
    default = false;
 | 
			
		||||
    description = "Enable GNOME desktop environment.";
 | 
			
		||||
  };
 | 
			
		||||
  config = lib.mkIf config.nix-config.gnome.enable {
 | 
			
		||||
    services = {
 | 
			
		||||
      displayManager.gdm.enable = true;
 | 
			
		||||
      desktopManager.gnome.enable = true;
 | 
			
		||||
 | 
			
		||||
      gnome = {
 | 
			
		||||
        core-apps.enable = false;
 | 
			
		||||
        core-developer-tools.enable = false;
 | 
			
		||||
        games.enable = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Exclude some packages to keep the installation lean
 | 
			
		||||
      environment.gnome.excludePackages = with pkgs; [
 | 
			
		||||
        gnome-tour
 | 
			
		||||
        gnome-user-docs
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -1,24 +1,24 @@
 | 
			
		||||
{
 | 
			
		||||
    config,
 | 
			
		||||
    lib,
 | 
			
		||||
    pkgs,
 | 
			
		||||
    ...
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
    virtualisation.containers.enable = true;
 | 
			
		||||
    virtualisation = {
 | 
			
		||||
      podman = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
  virtualisation.containers.enable = true;
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
    podman = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
 | 
			
		||||
        dockerCompat = false;
 | 
			
		||||
      dockerCompat = false;
 | 
			
		||||
 | 
			
		||||
        # Required for containers under podman-compose to be able to talk to each other.
 | 
			
		||||
        defaultNetwork.settings.dns_enabled = true;
 | 
			
		||||
      };
 | 
			
		||||
      # Required for containers under podman-compose to be able to talk to each other.
 | 
			
		||||
      defaultNetwork.settings.dns_enabled = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
    # Useful other development tools
 | 
			
		||||
    environment.systemPackages = with pkgs; [
 | 
			
		||||
      podman-compose # start group of containers for dev
 | 
			
		||||
    ];
 | 
			
		||||
  # Useful other development tools
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    podman-compose # start group of containers for dev
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  inputs,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
@@ -15,94 +16,51 @@
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
    inputs.watt.nixosModules.default
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  config = {
 | 
			
		||||
 | 
			
		||||
    services.tlp = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        # processor chooses frequencies itself
 | 
			
		||||
        CPU_DRIVER_OPMODE_ON_AC = "active";
 | 
			
		||||
        CPU_DRIVER_OPMODE_ON_BAT = "active";
 | 
			
		||||
    # services.tlp = {
 | 
			
		||||
    #   enable = true;
 | 
			
		||||
    #   settings = {
 | 
			
		||||
    #     # processor chooses frequencies itself but respects the limits set by the user
 | 
			
		||||
    #     CPU_DRIVER_OPMODE_ON_AC = "guided";
 | 
			
		||||
    #     CPU_DRIVER_OPMODE_ON_BAT = "guided";
 | 
			
		||||
 | 
			
		||||
        # governor dictates global behavior of the CPU
 | 
			
		||||
        CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
 | 
			
		||||
        CPU_SCALING_GOVERNOR_ON_AC = "performance";
 | 
			
		||||
    #     # governor dictates global behavior of the CPU
 | 
			
		||||
    #     CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
 | 
			
		||||
    #     CPU_SCALING_GOVERNOR_ON_AC = "performance";
 | 
			
		||||
 | 
			
		||||
        # energy performance policy (EPP) sets the energy/performance balance
 | 
			
		||||
        CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
 | 
			
		||||
        CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
 | 
			
		||||
 | 
			
		||||
        # CPU_MIN_PERF_ON_AC = 0;
 | 
			
		||||
        # CPU_MAX_PERF_ON_AC = 100;
 | 
			
		||||
        # CPU_MIN_PERF_ON_BAT = 0;
 | 
			
		||||
        # CPU_MAX_PERF_ON_BAT = 50;
 | 
			
		||||
 | 
			
		||||
        # enable battery charge thresholds on the default battery
 | 
			
		||||
        STOP_CHARGE_THRESH_BAT0 = 1;
 | 
			
		||||
    #     # energy performance policy (EPP) sets the energy/performance balance
 | 
			
		||||
    #     CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
 | 
			
		||||
    #     CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        # STOP_CHARGE_THRESH_BAT0 = 80;
 | 
			
		||||
    #     # clock speeds reported by `sudo tlp-stat`
 | 
			
		||||
    #     # 623377 [kHz] and 5090910 [kHz]
 | 
			
		||||
    #     # CPU_SCALING_MIN_FREQ_ON_AC = 623377;
 | 
			
		||||
    #     # CPU_SCALING_MAX_FREQ_ON_AC = 5090910;
 | 
			
		||||
    #     # CPU_SCALING_MIN_FREQ_ON_BAT = 0;
 | 
			
		||||
    #     # # reduce max frequency on battery to save power
 | 
			
		||||
    #     # CPU_SCALING_MAX_FREQ_ON_BAT = 3000000;
 | 
			
		||||
 | 
			
		||||
        # CPU_BOOST_ON_AC = 1;
 | 
			
		||||
        # CPU_BOOST_ON_BAT = 0;
 | 
			
		||||
        # CPU_HWP_DYN_BOOST_ON_AC = 1;
 | 
			
		||||
        # CPU_HWP_DYN_BOOST_ON_BAT = 0;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    #     # Allow the CPU to boost
 | 
			
		||||
    #     CPU_BOOST_ON_AC = 1;
 | 
			
		||||
    #     CPU_BOOST_ON_BAT = 1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # services.watt = {
 | 
			
		||||
  #   enable = true;
 | 
			
		||||
  #   settings = {
 | 
			
		||||
  #     charger = {
 | 
			
		||||
  #       governor = "performance";
 | 
			
		||||
  #       turbo = "auto";
 | 
			
		||||
  #       epp = "performance";
 | 
			
		||||
  #       epb = "balance_performance";
 | 
			
		||||
  #       platform_profile = "performance";
 | 
			
		||||
    #     RADEON_DPM_PERF_LEVEL_ON_AC = "high";
 | 
			
		||||
    #     WIFI_PWR_ON_BAT = "off";
 | 
			
		||||
 | 
			
		||||
  #       enable_auto_turbo = true;
 | 
			
		||||
  #       # Custom thresholds for auto turbo management
 | 
			
		||||
  #       turbo_auto_settings = {
 | 
			
		||||
  #         load_threshold_high = 70.0;
 | 
			
		||||
  #         load_threshold_low = 30.0;
 | 
			
		||||
  #         temp_threshold_high = 75.0;
 | 
			
		||||
  #         initial_turbo_state = false;  # whether turbo should be initially enabled (false = disabled)
 | 
			
		||||
  #       };
 | 
			
		||||
  #     };
 | 
			
		||||
 | 
			
		||||
  #     battery = {
 | 
			
		||||
  #       governor = "powersave";
 | 
			
		||||
  #       turbo = "auto";
 | 
			
		||||
  #       epp = "power";
 | 
			
		||||
  #       epb = "balance_power";
 | 
			
		||||
  #       platform_profile = "low-power";
 | 
			
		||||
 | 
			
		||||
  #       enable_auto_turbo = true;
 | 
			
		||||
  #       # Custom thresholds for auto turbo management
 | 
			
		||||
  #       turbo_auto_settings = {
 | 
			
		||||
  #         load_threshold_high = 80.0;
 | 
			
		||||
  #         load_threshold_low = 40.0;
 | 
			
		||||
  #         temp_threshold_high = 65.0;
 | 
			
		||||
  #         initial_turbo_state = false;  # whether turbo should be initially enabled (false = disabled)
 | 
			
		||||
  #       };
 | 
			
		||||
 | 
			
		||||
  #     };
 | 
			
		||||
 | 
			
		||||
  #     daemon = {
 | 
			
		||||
  #       poll_interval_sec = 10;
 | 
			
		||||
  #       adaptive_interval = true;
 | 
			
		||||
  #       min_poll_interval_sec = 1;
 | 
			
		||||
  #       max_poll_interval_sec = 30;
 | 
			
		||||
  #       throttle_on_battery = true;
 | 
			
		||||
  #       stats_file_path = "/var/run/watt-stats";
 | 
			
		||||
  #     };
 | 
			
		||||
  #     # battery_charge_thresholds = [50 90];
 | 
			
		||||
  #   };
 | 
			
		||||
    #     # enable battery charge thresholds on the default battery
 | 
			
		||||
    #     STOP_CHARGE_THRESH_BAT0 = 1;
 | 
			
		||||
    #   };
 | 
			
		||||
    # };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  #   # logind.lidSwitchExternalPower = "ignore"; # prevent lid switch from triggering a suspend
 | 
			
		||||
  # };
 | 
			
		||||
 | 
			
		||||
    systemd.sleep.extraConfig = ''
 | 
			
		||||
      AllowSuspend=yes
 | 
			
		||||
@@ -110,6 +68,26 @@
 | 
			
		||||
      AllowHybridSleep=yes
 | 
			
		||||
      AllowSuspendThenHibernate=yes
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
    services.watt = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        battery_charge_thresholds = [
 | 
			
		||||
          40
 | 
			
		||||
          80
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    services.irqbalance = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    services.thermald = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,29 @@
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  stylix.enable = true;
 | 
			
		||||
  stylix.image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
 | 
			
		||||
 | 
			
		||||
  stylix = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    polarity = "dark";
 | 
			
		||||
    homeManagerIntegration.followSystem = false;
 | 
			
		||||
    base16Scheme = {
 | 
			
		||||
      # scheme = "onedark";
 | 
			
		||||
      # author = "https://github.com/one-dark";
 | 
			
		||||
      base00 = "#282c34";
 | 
			
		||||
      base01 = "#353b45";
 | 
			
		||||
      base02 = "#3e4451";
 | 
			
		||||
      base03 = "#545862";
 | 
			
		||||
      base04 = "#565c64";
 | 
			
		||||
      base05 = "#abb2bf";
 | 
			
		||||
      base06 = "#b6bdca";
 | 
			
		||||
      base07 = "#c8ccd4";
 | 
			
		||||
      base08 = "#e06c75";
 | 
			
		||||
      base09 = "#d19a66";
 | 
			
		||||
      base0A = "#e6c07b";
 | 
			
		||||
      base0B = "#98c379";
 | 
			
		||||
      base0C = "#56b6c2";
 | 
			
		||||
      base0D = "#61afef";
 | 
			
		||||
      base0E = "#c678dd";
 | 
			
		||||
      base0F = "#be5046";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@ in
 | 
			
		||||
      isNormalUser = true;
 | 
			
		||||
      extraGroups = [
 | 
			
		||||
        "wheel" # Enable ‘sudo’ for the user.
 | 
			
		||||
        "input"
 | 
			
		||||
        # other groups are added as needed, eg. networkmanager
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ config, pkgs, lib, ... }:
 | 
			
		||||
{ config, nixpkgs, lib, ... }:
 | 
			
		||||
with lib.hm.gvariant;
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
@@ -9,6 +9,9 @@ with lib.hm.gvariant;
 | 
			
		||||
            scale = "1.6";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      quickshell = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
@@ -22,6 +25,7 @@ with lib.hm.gvariant;
 | 
			
		||||
    ../../modules/home-manager/documents.nix
 | 
			
		||||
    ../../modules/home-manager/fish.nix
 | 
			
		||||
    ../../modules/home-manager/flatpaks.nix
 | 
			
		||||
    ../../modules/home-manager/fusuma.nix
 | 
			
		||||
    ../../modules/home-manager/hypr
 | 
			
		||||
    ../../modules/home-manager/keepassxc.nix
 | 
			
		||||
    ../../modules/home-manager/kitty.nix
 | 
			
		||||
@@ -30,6 +34,7 @@ with lib.hm.gvariant;
 | 
			
		||||
    ../../modules/home-manager/notifications.nix
 | 
			
		||||
    ../../modules/home-manager/obsidian.nix
 | 
			
		||||
    ../../modules/home-manager/owncloud-client.nix
 | 
			
		||||
    ../../modules/home-manager/quickshell
 | 
			
		||||
    ../../modules/home-manager/ssh.nix
 | 
			
		||||
    ../../modules/home-manager/stylix.nix
 | 
			
		||||
    ../../modules/home-manager/thunderbird.nix
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user