This commit is contained in:
mjallen18
2024-08-24 01:46:53 -05:00
parent cd809e4156
commit f3c53ca33b
19 changed files with 1051 additions and 705 deletions

603
flake.lock generated
View File

@@ -11,11 +11,11 @@
"poetry2nix": "poetry2nix" "poetry2nix": "poetry2nix"
}, },
"locked": { "locked": {
"lastModified": 1722879849, "lastModified": 1724362025,
"narHash": "sha256-Hg1I6vmrxWz6RrVROXn1RDCPniOJx93QQg99x/wSkjY=", "narHash": "sha256-/fzIU/Hjgksy7A4ji09zK6cH7ATQV5rAEYb/wgBw8x8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "authentik-nix", "repo": "authentik-nix",
"rev": "80fc87361809f78b8a8cd7e57a14b66a726379ef", "rev": "39cf62b92149800dd2a436f8b18acd471c9180dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -27,16 +27,16 @@
"authentik-src": { "authentik-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1722875733, "lastModified": 1724339964,
"narHash": "sha256-LPNcvKiVrwPwc3G/j0a7KoMKAMScbzui0C3IgWXP+g4=", "narHash": "sha256-QwK/auMLCJEHHtyexFnO+adCq/u0fezHQ90fXW9J4c4=",
"owner": "goauthentik", "owner": "goauthentik",
"repo": "authentik", "repo": "authentik",
"rev": "8f207c75046d722c17dee2bcf65fa386b06f5b9a", "rev": "8a0b31b9227ca33b96c5448f185419f17090ed38",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "goauthentik", "owner": "goauthentik",
"ref": "version/2024.6.3", "ref": "version/2024.6.4",
"repo": "authentik", "repo": "authentik",
"type": "github" "type": "github"
} }
@@ -53,11 +53,11 @@
"yafas": "yafas" "yafas": "yafas"
}, },
"locked": { "locked": {
"lastModified": 1724260845, "lastModified": 1724418754,
"narHash": "sha256-ufNcCna8sact/lkKNWNl8HwNMrKq42KN+izK/vPvxhk=", "narHash": "sha256-1pSQbkskj4pl1WxwByJ3pY6d35xWohlNo8pSvomxq+o=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "62ad1fce12be4bca6133c14a376cb36a3323fc85", "rev": "61d7effc892f676cd8b07baa9a35df511d02215e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -84,16 +84,19 @@
"cosmic": { "cosmic": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"nixpkgs": "nixpkgs_3", "nix-update": "nix-update",
"nixpkgs": [
"nixpkgs-unstable"
],
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-stable": "nixpkgs-stable",
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1724290496, "lastModified": 1724431223,
"narHash": "sha256-tiXzvSFSBwAC2HtbBDePZWs112K9dynlfQOHzU7XyHE=", "narHash": "sha256-m8K3mXCi6VypEMI3eirtChsaXBSJvKsoMwOXpuMqfZ4=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "0175cd90ce3ee1a8fd30a30354be105f82688f66", "rev": "f4ecea2443e7905f01d06b9a00c3219c0c7799ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -123,47 +126,6 @@
"type": "github" "type": "github"
} }
}, },
"crane_2": {
"flake": false,
"locked": {
"lastModified": 1699217310,
"narHash": "sha256-xpW3VFUG7yE6UE6Wl0dhqencuENSkV7qpnpe9I8VbPw=",
"owner": "ipetkov",
"repo": "crane",
"rev": "d535642bbe6f377077f7c23f0febb78b1463f449",
"type": "github"
},
"original": {
"owner": "ipetkov",
"ref": "v0.15.0",
"repo": "crane",
"type": "github"
}
},
"dream2nix": {
"inputs": {
"nixpkgs": [
"nix-inspect",
"nci",
"nixpkgs"
],
"purescript-overlay": "purescript-overlay",
"pyproject-nix": "pyproject-nix"
},
"locked": {
"lastModified": 1709959559,
"narHash": "sha256-Gb+tUU+clGKVBwiznTQf0emZZ+heALqoVwUgI0O13L8=",
"owner": "nix-community",
"repo": "dream2nix",
"rev": "42838c590971da17a4b6483962707b7fb7b8b9a7",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "dream2nix",
"type": "github"
}
},
"fenix": { "fenix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -173,11 +135,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1724221791, "lastModified": 1724308100,
"narHash": "sha256-mKX67QPnUybOopVph/LhOV1G/H4EvPxDIfSmbufrVdA=", "narHash": "sha256-1lP786QhspMdDNJGv2qep27BM9Dnce+7scwp1e49rKs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "e88b38a5a3834e039d413a88f8150a75ef6453ef", "rev": "37d8c6b53394b9ac18af2e045bb92aaf6e412881",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -235,12 +197,28 @@
} }
}, },
"flake-compat_4": { "flake-compat_4": {
"flake": false,
"locked": { "locked": {
"lastModified": 1688025799, "lastModified": 1696426674,
"narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_5": {
"locked": {
"lastModified": 1717312683,
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -254,11 +232,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1719745305, "lastModified": 1722555600,
"narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=", "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9", "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -268,6 +246,28 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"cosmic",
"nix-update",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719994518,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"lanzaboote", "lanzaboote",
@@ -338,7 +338,49 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_3",
"gitignore": "gitignore",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1724440431,
"narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "c8a54057aae480c56e28ef3e14e4960628ac495b",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": {
"nixpkgs": [
"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"
}
},
"gitignore_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"lanzaboote", "lanzaboote",
@@ -381,27 +423,6 @@
"type": "github" "type": "github"
} }
}, },
"home-manager-stable": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1720042825,
"narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": { "home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -409,11 +430,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723986931, "lastModified": 1724422166,
"narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", "narHash": "sha256-l9zifWrZe6sRTwl/Padz+a6zwGeE9eaU+0PFWtUQl2w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", "rev": "5dc25356567119127f046b347c3060a8dd607365",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -446,11 +467,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724128906, "lastModified": 1724304322,
"narHash": "sha256-junn8oz6yG1akc5R5b8LjcAl1epKJkAzwPlG57bB3E0=", "narHash": "sha256-/nrlMDubg9oG2VNANRBxsas5RbcJtB6IIDPZC3yHLW8=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "d9947d55383ece6ac396820112d34734cf47e2bb", "rev": "924a18ea8df89a39166dd202f3e73cd022825768",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -462,8 +483,8 @@
"lanzaboote": { "lanzaboote": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs-unstable" "nixpkgs-unstable"
@@ -486,22 +507,6 @@
"type": "github" "type": "github"
} }
}, },
"mk-naked-shell": {
"flake": false,
"locked": {
"lastModified": 1681286841,
"narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=",
"owner": "yusdacra",
"repo": "mk-naked-shell",
"rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd",
"type": "github"
},
"original": {
"owner": "yusdacra",
"repo": "mk-naked-shell",
"type": "github"
}
},
"napalm": { "napalm": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@@ -527,33 +532,6 @@
"type": "github" "type": "github"
} }
}, },
"nci": {
"inputs": {
"crane": "crane_2",
"dream2nix": "dream2nix",
"mk-naked-shell": "mk-naked-shell",
"nixpkgs": [
"nix-inspect",
"nixpkgs"
],
"parts": "parts",
"rust-overlay": "rust-overlay_3",
"treefmt": "treefmt"
},
"locked": {
"lastModified": 1710137478,
"narHash": "sha256-+hbUWY1PEItyx3CBOGsHlJEDO2wRY2N1mpBhiLBblck=",
"owner": "yusdacra",
"repo": "nix-cargo-integration",
"rev": "f3cc8751427e16ec48c0467357b3f3979a53ae9c",
"type": "github"
},
"original": {
"owner": "yusdacra",
"repo": "nix-cargo-integration",
"type": "github"
}
},
"nix-darwin": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
@@ -617,38 +595,41 @@
"type": "github" "type": "github"
} }
}, },
"nix-inspect": { "nix-update": {
"inputs": { "inputs": {
"nci": "nci", "flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_5", "nixpkgs": [
"parts": "parts_2" "cosmic",
"nixpkgs"
],
"treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1717293583, "lastModified": 1724271552,
"narHash": "sha256-Upz+fnWJjzt5WokjO/iaiPbqiwSrqpWjrpcFOqQ4p0E=", "narHash": "sha256-xn0dC4M3mfItxP+s3/v3Hz/CSKp74VH/gMfufKxl9/4=",
"owner": "bluskript", "owner": "Mic92",
"repo": "nix-inspect", "repo": "nix-update",
"rev": "c55921e1d1cf980ff6351273fde6cedd5d8fa320", "rev": "737121eccb67542e8c004c64da833fede2e80c64",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "bluskript", "owner": "Mic92",
"repo": "nix-inspect", "repo": "nix-update",
"type": "github" "type": "github"
} }
}, },
"nixos-apple-silicon": { "nixos-apple-silicon": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_5",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_5",
"rust-overlay": "rust-overlay_4" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1717784003, "lastModified": 1724346840,
"narHash": "sha256-EDhb+3uFVCnfsF8DSPd1F2Arza84vQvlzh/OPSUHUjc=", "narHash": "sha256-nLaw2AFhDdBmbuWICe983Pbiq+GyNMPJMpSLWV6vVZA=",
"owner": "mjallen18", "owner": "mjallen18",
"repo": "nixos-apple-silicon", "repo": "nixos-apple-silicon",
"rev": "06fb62dd84841d1664a3a144d8877a956618401d", "rev": "77b99b63b125d85693934c83b04e1797cbf7afe7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -675,11 +656,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1720542800, "lastModified": 1724224976,
"narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=", "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "feb2849fdeb70028c70d73b848214b00d324a497", "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -691,49 +672,17 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1717284937, "lastModified": 1722555339,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": {
"lastModified": 1724098845,
"narHash": "sha256-D5HwjQw/02fuXbR4LCTo64koglP2j99hkDR79/3yLOE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f1bad50880bae73ff2d82fafc22010b4fc097a9c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1710695816,
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_3": {
"locked": { "locked": {
"lastModified": 1724242322, "lastModified": 1724242322,
"narHash": "sha256-HMpK7hNjhEk4z5SFg5UtxEio9OWFocHdaQzCfW1pE7w=", "narHash": "sha256-HMpK7hNjhEk4z5SFg5UtxEio9OWFocHdaQzCfW1pE7w=",
@@ -749,6 +698,38 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1710695816,
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_4": { "nixpkgs-stable_4": {
"locked": { "locked": {
"lastModified": 1721524707, "lastModified": 1721524707,
@@ -783,11 +764,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1723991338, "lastModified": 1724224976,
"narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8a3354191c0d7144db9756a74755672387b702ba", "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -799,16 +780,16 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1723991338, "lastModified": 1719082008,
"narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8a3354191c0d7144db9756a74755672387b702ba", "rev": "9693852a2070b398ee123a329e68f0dab5526681",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -829,11 +810,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1709961763, "lastModified": 1724224976,
"narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -844,22 +825,6 @@
} }
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": {
"lastModified": 1716293225,
"narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
"type": "github"
}
},
"nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1721466660, "lastModified": 1721466660,
"narHash": "sha256-pFSxgSZqZ3h+5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c=", "narHash": "sha256-pFSxgSZqZ3h+5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c=",
@@ -875,49 +840,6 @@
"type": "github" "type": "github"
} }
}, },
"parts": {
"inputs": {
"nixpkgs-lib": [
"nix-inspect",
"nci",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709336216,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"parts_2": {
"inputs": {
"nixpkgs-lib": [
"nix-inspect",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709336216,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"poetry2nix": { "poetry2nix": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@@ -933,11 +855,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1719549552, "lastModified": 1724208502,
"narHash": "sha256-efvBV+45uQA6r7aov48H6MhvKp1QUIyIX5gh9oueUzs=", "narHash": "sha256-TCRcEPSfgAw/t7kClmlr23s591N06mQCrhzlAO7cyFw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "poetry2nix", "repo": "poetry2nix",
"rev": "4fd045cdb85f2a0173021a4717dc01d92d7ab2b2", "rev": "884b66152b0c625b8220b570a31dc7acc36749a3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -952,12 +874,12 @@
"lanzaboote", "lanzaboote",
"flake-compat" "flake-compat"
], ],
"gitignore": "gitignore", "gitignore": "gitignore_2",
"nixpkgs": [ "nixpkgs": [
"lanzaboote", "lanzaboote",
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_3"
}, },
"locked": { "locked": {
"lastModified": 1717664902, "lastModified": 1717664902,
@@ -973,61 +895,18 @@
"type": "github" "type": "github"
} }
}, },
"purescript-overlay": {
"inputs": {
"nixpkgs": [
"nix-inspect",
"nci",
"dream2nix",
"nixpkgs"
],
"slimlock": "slimlock"
},
"locked": {
"lastModified": 1696022621,
"narHash": "sha256-eMjFmsj2G1E0Q5XiibUNgFjTiSz0GxIeSSzzVdoN730=",
"owner": "thomashoneyman",
"repo": "purescript-overlay",
"rev": "047c7933abd6da8aa239904422e22d190ce55ead",
"type": "github"
},
"original": {
"owner": "thomashoneyman",
"repo": "purescript-overlay",
"type": "github"
}
},
"pyproject-nix": {
"flake": false,
"locked": {
"lastModified": 1702448246,
"narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=",
"owner": "davhau",
"repo": "pyproject.nix",
"rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb",
"type": "github"
},
"original": {
"owner": "davhau",
"ref": "dream2nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"authentik-nix": "authentik-nix", "authentik-nix": "authentik-nix",
"chaotic": "chaotic", "chaotic": "chaotic",
"cosmic": "cosmic", "cosmic": "cosmic",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"home-manager-stable": "home-manager-stable",
"impermanence": "impermanence", "impermanence": "impermanence",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nix-inspect": "nix-inspect",
"nixos-apple-silicon": "nixos-apple-silicon", "nixos-apple-silicon": "nixos-apple-silicon",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs-stable": "nixpkgs-stable_3",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
} }
@@ -1057,11 +936,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724206841, "lastModified": 1724293269,
"narHash": "sha256-L8dKaX4T3k+TR2fEHCfGbH4UXdspovz/pj87iai9qmc=", "narHash": "sha256-x/XhOAszT/ejditCHUtGOjQcVg2AQhrC/QVew3i7kTI=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "45e98fbd62c32e5927e952d2833fa1ba4fb35a61", "rev": "6dc6d34a3a217457d7044dcce32b6d537480a6a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1098,11 +977,11 @@
"rust-overlay_3": { "rust-overlay_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1710123130, "lastModified": 1724293269,
"narHash": "sha256-EoGL/WSM1M2L099Q91mPKO/FRV2iu2ZLOEp3y5sLfiE=", "narHash": "sha256-x/XhOAszT/ejditCHUtGOjQcVg2AQhrC/QVew3i7kTI=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "73aca260afe5d41d3ebce932c8d896399c9d5174", "rev": "6dc6d34a3a217457d7044dcce32b6d537480a6a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1111,49 +990,9 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_4": {
"flake": false,
"locked": {
"lastModified": 1686795910,
"narHash": "sha256-jDa40qRZ0GRQtP9EMZdf+uCbvzuLnJglTUI2JoHfWDc=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "5c2b97c0a9bc5217fc3dfb1555aae0fb756d99f9",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"slimlock": {
"inputs": {
"nixpkgs": [
"nix-inspect",
"nci",
"dream2nix",
"purescript-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688610262,
"narHash": "sha256-Wg0ViDotFWGWqKIQzyYCgayeH8s4U1OZcTiWTQYdAp4=",
"owner": "thomashoneyman",
"repo": "slimlock",
"rev": "b5c6cdcaf636ebbebd0a1f32520929394493f1a6",
"type": "github"
},
"original": {
"owner": "thomashoneyman",
"repo": "slimlock",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_6",
"nixpkgs-stable": "nixpkgs-stable_4" "nixpkgs-stable": "nixpkgs-stable_4"
}, },
"locked": { "locked": {
@@ -1229,28 +1068,6 @@
"type": "github" "type": "github"
} }
}, },
"treefmt": {
"inputs": {
"nixpkgs": [
"nix-inspect",
"nci",
"nixpkgs"
]
},
"locked": {
"lastModified": 1710088047,
"narHash": "sha256-eSqKs6ZCsX9xJyNYLeMDMrxzIDsYtaWClfZCOp0ok6Y=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "720322c5352d7b7bd2cb3601a9176b0e91d1de7d",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1260,11 +1077,33 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718522839, "lastModified": 1719749022,
"narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=", "narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81", "rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"cosmic",
"nix-update",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719887753,
"narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -4,10 +4,6 @@
inputs = { inputs = {
# nixpgs # nixpgs
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
# Nix Inspect
nix-inspect.url = "github:bluskript/nix-inspect";
# Authentik # Authentik
authentik-nix.url = "github:nix-community/authentik-nix"; authentik-nix.url = "github:nix-community/authentik-nix";
@@ -19,11 +15,10 @@
impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
# Home Manager # Home Manager
home-manager.url = "github:nix-community/home-manager"; home-manager = {
home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
home-manager-stable.url = "github:nix-community/home-manager/release-24.05"; };
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
# Lanzaboote # Lanzaboote
lanzaboote = { lanzaboote = {
@@ -41,14 +36,18 @@
nixos-apple-silicon.url = "github:mjallen18/nixos-apple-silicon"; nixos-apple-silicon.url = "github:mjallen18/nixos-apple-silicon";
nix-darwin.url = "github:LnL7/nix-darwin"; nix-darwin.url = "github:LnL7/nix-darwin";
cosmic.url = "github:lilyinstarlight/nixos-cosmic"; cosmic = {
url = "github:lilyinstarlight/nixos-cosmic";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
git-hooks.url = "github:cachix/git-hooks.nix";
}; };
outputs = outputs =
{ {
self, self,
nixpkgs-unstable, nixpkgs-unstable,
nixpkgs-stable,
chaotic, chaotic,
lanzaboote, lanzaboote,
impermanence, impermanence,
@@ -56,14 +55,19 @@
nixos-hardware, nixos-hardware,
nix-darwin, nix-darwin,
nixos-apple-silicon, nixos-apple-silicon,
home-manager-stable,
nix-inspect,
cosmic, cosmic,
authentik-nix, authentik-nix,
sops-nix, sops-nix,
git-hooks,
}@inputs: }@inputs:
let let
inherit (self) outputs; inherit (self) outputs;
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
forAllSystems = nixpkgs-unstable.lib.genAttrs supportedSystems;
in in
{ {
overlays = import ./overlays { inherit inputs; }; overlays = import ./overlays { inherit inputs; };
@@ -90,7 +94,7 @@
specialisation.hyprland.configuration = { specialisation.hyprland.configuration = {
home-manager.users.matt = { home-manager.users.matt = {
home.sessionVariables = { home.sessionVariables = {
DUMBTEST="yaaaaaaas"; DUMBTEST = "yaaaaaaas";
}; };
}; };
}; };
@@ -125,7 +129,7 @@
} }
authentik-nix.nixosModules.default authentik-nix.nixosModules.default
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
nixos-hardware.nixosModules.common-pc nixos-hardware.nixosModules.common-pc
@@ -187,5 +191,21 @@
# Set Git commit hash for darwin-version. # Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null; system.configurationRevision = self.rev or self.dirtyRev or null;
# checks = forAllSystems (system: {
# pre-commit-check = git-hooks.lib.${system}.run {
# src = ./.;
# hooks = {
# nixpkgs-fmt.enable = true;
# };
# };
# });
# devShells = forAllSystems (system: {
# default = nixpkgs-unstable.legacyPackages.${system}.mkShell {
# inherit (self.checks.${system}.pre-commit-check) shellHook;
# buildInputs = self.checks.${system}.pre-commit-check.enabledPackages;
# };
# });
}; };
} }

View File

@@ -219,6 +219,37 @@ in
sessionVariables = lib.mkDefault { STEAM_FORCE_DESKTOPUI_SCALING = "1"; }; sessionVariables = lib.mkDefault { STEAM_FORCE_DESKTOPUI_SCALING = "1"; };
etc."lact/config.yaml".text = ''
daemon:
log_level: info
admin_groups:
- wheel
- sudo
disable_clocks_cleanup: false
apply_settings_timer: 5
gpus:
1002:73BF-1002:0E3A-0000:03:00.0:
fan_control_enabled: true
fan_control_settings:
mode: curve
static_speed: 1.0
temperature_key: edge
interval_ms: 500
curve:
30: 0.0
40: 0.2
50: 0.35
60: 0.5
70: 0.75
80: 1.0
spindown_delay_ms: 0
change_threshold: 0
pmfw_options: {}
power_cap: 293.0
performance_level: auto
voltage_offset: 0
power_states: {}
'';
}; };
# Configure nixpkgs # Configure nixpkgs

View File

@@ -95,6 +95,7 @@ in
python312Packages.pytest python312Packages.pytest
python312Packages.pytest-cov python312Packages.pytest-cov
python312Packages.pyaml python312Packages.pyaml
smile
sops sops
spotify spotify
ssh-to-pgp ssh-to-pgp

View File

@@ -6,6 +6,7 @@ in
".config/kitty/macchiato.conf".source = "${configDir}/kitty/macchiato.conf"; ".config/kitty/macchiato.conf".source = "${configDir}/kitty/macchiato.conf";
".config/wlogout".source = "${configDir}/wlogout"; # ".config/wlogout".source = "${configDir}/wlogout"; #
".config/waybar/scripts".source = "${configDir}/waybar/scripts"; ".config/waybar/scripts".source = "${configDir}/waybar/scripts";
".config/waybar/macchiato.css".source = "${configDir}/waybar/macchiato.css";
".config/btop/themes/catppuccin_macchiato.theme".source = "${configDir}/btop/themes/catppuccin_macchiato.theme"; ".config/btop/themes/catppuccin_macchiato.theme".source = "${configDir}/btop/themes/catppuccin_macchiato.theme";
".config/nwg-drawer".source = "${configDir}/nwg-drawer"; ".config/nwg-drawer".source = "${configDir}/nwg-drawer";
".config/nwg-panel".source = "${configDir}/nwg-panel"; ".config/nwg-panel".source = "${configDir}/nwg-panel";

View File

@@ -30,7 +30,6 @@
bind = [ bind = [
"$mod, Return, exec, kitty" "$mod, Return, exec, kitty"
"$mod, Q, killactive, " "$mod, Q, killactive, "
"$mod, mouse:274, killactive, "
"$mod, M, exec, wlogout --protocol layer-shell" "$mod, M, exec, wlogout --protocol layer-shell"
"$mod, E, exec, nautilus" "$mod, E, exec, nautilus"
"$mod, V, togglefloating, " "$mod, V, togglefloating, "
@@ -40,6 +39,10 @@
"$mod SHIFT, Q, exec, hyprlock" "$mod SHIFT, Q, exec, hyprlock"
", PRINT, exec, hyprshot -m region --clipboard-only" ", PRINT, exec, hyprshot -m region --clipboard-only"
"$mod,F,exec,hyprctl dispatch fullscreen active" "$mod,F,exec,hyprctl dispatch fullscreen active"
"$mod SHIFT, E, exec, smile"
"$mod, mouse:276, movecurrentworkspacetomonitor, DP-1"
"$mod, mouse:275, movecurrentworkspacetomonitor, DP-2"
# alt-tab between workspaces on active monitor # alt-tab between workspaces on active monitor
"ALT, Tab, workspace, m+1" "ALT, Tab, workspace, m+1"
@@ -90,7 +93,7 @@
"$mod, mouse:272, movewindow" "$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow" "$mod, mouse:273, resizewindow"
# middle mouse will grab a window, mod + middle mouse will close it # middle mouse will grab a window, mod + middle mouse will close it
", mouse:274, movewindow" "$mod SHIFT, mouse:274, movewindow"
]; ];
bindel = [ bindel = [
@@ -212,6 +215,7 @@
# "float, class:Remote Desktop Connection,title:Remote Desktop Connection" # "float, class:Remote Desktop Connection,title:Remote Desktop Connection"
"float, class:Credential Manager UI Host,title:Windows Security" "float, class:Credential Manager UI Host,title:Windows Security"
"float, title:^(Media viewer)$" "float, title:^(Media viewer)$"
"float, class:^(it.mijorus.smile)$,title:^(Smile)$"
# Picture in picture windows # Picture in picture windows
# "float, class:pavucontrol,title:pavucontrol" # ????? # "float, class:pavucontrol,title:pavucontrol" # ?????
"float, title:^(Picture-in-Picture)$" "float, title:^(Picture-in-Picture)$"
@@ -263,6 +267,8 @@
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = nwg-look -a exec-once = nwg-look -a
exec-once = nm-applet
exec-once = blueberry
exec-once = [silent] firefox exec-once = [silent] firefox
exec-once = [silent] vesktop exec-once = [silent] vesktop
exec-once = [silent] spotify exec-once = [silent] spotify

View File

@@ -1,5 +1,6 @@
{ {
# https://github.com/Alexays/Waybar/wiki/Module:-Hyprland # https://github.com/Alexays/Waybar/wiki/Module:-Hyprland
# https://www.nerdfonts.com/cheat-sheet
programs.waybar = { programs.waybar = {
enable = true; enable = true;
@@ -20,16 +21,18 @@
modules-right = [ modules-right = [
"tray" "tray"
"custom/updates" "custom/updates"
"temperature"
"temperature#gpu"
"keyboard-state#capslock" "keyboard-state#capslock"
"keyboard-state#numlock" "keyboard-state#numlock"
"pulseaudio" "pulseaudio"
"pulseaudio#microphone" "pulseaudio#microphone"
"network"
"clock" "clock"
"custom/weather" "custom/weather"
]; ];
"hyprland/window" = { "hyprland/window" = {
separate-outputs = true;
format = { }; format = { };
}; };
@@ -38,7 +41,7 @@
all-outputs = true; all-outputs = true;
on-click = "activate"; on-click = "activate";
persistent_workspaces = { persistent_workspaces = {
"1" = [ ]; "*" = 1;
}; };
}; };
@@ -58,6 +61,39 @@
return-type = "json"; return-type = "json";
}; };
temperature = {
hwmon-path = "/sys/class/hwmon/hwmon4/temp1_input";
critical-threshold = 90;
format-critical = "{temperatureC}°C {icon}";
format = "{temperatureC}°C {icon}";
format-icons = [
"" # fa-temperature-empty
"" # fa-temperature-quarter
"" # fa-temperature-half
"" # fa-temperature-three-quarters
"" # fa-temperature-full
"" # fa-temperature-high
];
tooltip-format = "CPU: {temperatureC}°C";
};
"temperature#gpu" = {
hwmon-path = "/sys/class/hwmon/hwmon0/temp1_input";
critical-threshold = 100;
format-critical = "{temperatureC}°C {icon}";
format = "{temperatureC}°C {icon}";
format-icons = [
"" # fa-temperature-empty
"" # fa-temperature-quarter
"" # fa-temperature-half
"" # fa-temperature-three-quarters
"" # fa-temperature-full
"" # fa-temperature-high
];
on-click = "lact";
tooltip-format = "GPU: {temperatureC}°C";
};
tray = { tray = {
icon-size = 16; icon-size = 16;
spacing = 10; spacing = 10;
@@ -78,13 +114,15 @@
on-scroll-down = "pamixer -d 5"; on-scroll-down = "pamixer -d 5";
scroll-step = 5; scroll-step = 5;
format-icons = { format-icons = {
headphone = ""; headphone = "󰋋";
hands-free = ""; headphone-muted = "󰟎";
headset = ""; hands-free = "󰋋";
headset = "󰋋";
phone = ""; phone = "";
portable = ""; portable = "󰋋";
car = ""; car = "";
default = [ default = [
""
"" ""
"" ""
"" ""
@@ -94,8 +132,8 @@
"pulseaudio#microphone" = { "pulseaudio#microphone" = {
format = "{format_source}"; format = "{format_source}";
format-source = "🎙{volume}%"; format-source = "";
format-source-muted = "🎙Muted"; format-source-muted = "";
on-click = "pamixer --default-source -t"; on-click = "pamixer --default-source -t";
on-click-right = "pavucontrol -t 2"; on-click-right = "pavucontrol -t 2";
on-scroll-up = "pamixer --default-source -i 5"; on-scroll-up = "pamixer --default-source -i 5";
@@ -103,34 +141,23 @@
scroll-step = 5; scroll-step = 5;
}; };
network = {
interface = "wlp9s0";
format = "{ifname}";
format-wifi = "{essid} ({signalStrength}%) ";
format-ethernet = "{ifname} ";
format-disconnected = ""; # An empty format will hide the module.
tooltip-format = "{ifname}";
tooltip-format-wifi = "{essid} ({signalStrength}%) ";
tooltip-format-ethernet = "{ifname} ";
tooltip-format-disconnected = "Disconnected";
max-length = 50;
};
"keyboard-state#capslock" = { "keyboard-state#capslock" = {
capslock = true; capslock = true;
format = "{name} {icon}"; icon-size = 20;
format = "{icon}";
format-icons = { format-icons = {
locked = ""; locked = "󰪛";
unlocked = ""; unlocked = "";
}; };
}; };
"keyboard-state#numlock" = { "keyboard-state#numlock" = {
numlock = true; numlock = true;
format = "{name} {icon}"; icon-size = 30;
format = "{icon}";
format-icons = { format-icons = {
locked = ""; locked = "󰎣";
unlocked = ""; unlocked = "";
}; };
}; };
}; };
@@ -138,164 +165,191 @@
# https://catppuccin.com/palette # https://catppuccin.com/palette
style = '' style = ''
@define-color rosewater #f4dbd6;
@define-color flamingo #f0c6c6;
@define-color pink #f5bde6;
@define-color mauve #c6a0f6;
@define-color red #ed8796;
@define-color maroon #ee99a0;
@define-color peach #f5a97f;
@define-color yellow #eed49f;
@define-color green #a6da95;
@define-color teal #8bd5ca;
@define-color sky #91d7e3;
@define-color sapphire #7dc4e4;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color text #cad3f5;
@define-color subtext1 #b8c0e0;
@define-color subtext0 #a5adcb;
@define-color overlay2 #939ab7;
@define-color overlay1 #8087a2;
@define-color overlay0 #6e738d;
@define-color surface2 #5b6078;
@define-color surface1 #494d64;
@define-color surface0 #363a4f;
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;
/*@import "macchiato.css";*/
* { * {
border: none;
border-radius: 0;
font-family: font-family:
Jetbrains Mono Nerd Font, Jetbrains Mono Nerd Font,
monospace; monospace;
font-weight: bold;
font-size: 14px; font-size: 14px;
min-height: 0; min-height: 0;
} }
window#waybar { #waybar {
background: rgba(21, 18, 27, 0); background: transparent;
color: #cdd6f4; color: @text;
} margin: 5px 5px;
tooltip {
background: #1e1e2e;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #11111b;
}
#workspaces button {
padding: 5px;
color: #313244;
margin-right: 5px;
}
#workspaces button.active {
color: #a6adc8;
}
#workspaces button.focused {
color: #a6adc8;
background: #eba0ac;
border-radius: 10px;
}
#workspaces button.urgent {
color: #11111b;
background: #a6e3a1;
border-radius: 10px;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
#custom-updates,
#custom-caffeine,
#custom-weather,
#window,
#clock,
#battery,
#pulseaudio,
#network,
#workspaces,
#keyboard-state.numlock,
#keyboard-state.capslock,
#tray,
#backlight {
background: #1e1e2e;
padding: 0px 10px;
margin: 3px 0px;
margin-top: 10px;
border: 1px solid #181825;
}
#tray {
border-radius: 10px;
margin-right: 10px;
} }
#workspaces { #workspaces {
background: #1e1e2e; padding: 0.5rem 1rem;
border-radius: 10px; margin: 5px 0;
margin-left: 10px; border-radius: 1rem;
padding-right: 0px; background-color: @surface0;
padding-left: 5px; opacity: 0.6;
margin-left: 1rem;
} }
#custom-caffeine { #workspaces button {
color: #89dceb; color: @lavender;
border-radius: 10px 0px 0px 10px; border-radius: 1rem;
border-right: 0px; padding: 0.4rem;
margin-left: 10px;
} }
#custom-updates { #workspaces button.active {
color: #f5c2e7; color: @sky;
border-radius: 10px 0px 0px 10px; border-radius: 1rem;
border-left: 0px; }
border-right: 0px;
#workspaces button:hover {
color: @sapphire;
border-radius: 1rem;
}
#workspaces button.focused {
color: @subtext0;
background: @yellow;
border-radius: 1rem;
}
#workspaces button.urgent {
color: @crust;
background: @subtext0;
border-radius: 1rem;
}
#tooltip {
background: @surface0;
border-radius: 1rem;
border-width: 1rem;
border-style: solid;
border-color: @crust;
} }
#window { #window {
border-radius: 10px; color: @lavender;
margin-left: 60px; background-color: @surface0;
margin-right: 60px; opacity: 0.6;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem;
margin-left: 6rem;
margin-right: 6rem;
}
#custom-weather {
color: @rosewater;
background-color: @surface0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0rem 1rem 1rem 0rem;
margin-right: 1rem;
} }
#clock { #clock {
color: #f5a97f; color: @flamingo;
border-radius: 10px 0px 0px 10px; background-color: @surface0;
margin-left: 5px; padding: 0.5rem 1rem;
border-right: 0px; margin: 5px 0;
border-radius: 1rem 0rem 0rem 1rem;
margin-left: 1rem;
} }
#keyboard-state.capslock { /* ------------- */
color: #91d7e3;
border-left: 0px;
border-right: 0px;
}
#keyboard-state.numlock { #pulseaudio.microphone {
color: #7dc4e4; color: @mauve;
border-left: 0px; background-color: @surface0;
border-right: 0px; padding: 0.5rem 1rem;
} margin: 5px 0;
border-radius: 0rem 1rem 1rem 0rem;
#network {
color: #eed49f;
border-left: 0px;
border-right: 0px;
border-radius: 10px 10px 10px 10px;
margin-left: 5px;
padding-right: 15px;
} }
#pulseaudio { #pulseaudio {
color: #8aadf4; color: @red;
border-left: 0px; background-color: @surface0;
border-right: 0px; padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0;
} }
#pulseaudio.microphone { #keyboard-state.numlock {
color: #c6a0f6; color: @maroon;
border-radius: 0px 10px 10px 0px; background-color: @surface0;
border-left: 0px; padding: 0.5rem 1rem;
border-right: 0px; margin: 5px 0;
padding-top: 5px; border-radius: 0;
font-size: 50px;
} }
#battery { #keyboard-state.capslock {
color: #a6e3a1; color: @peach;
border-radius: 0 10px 10px 0; background-color: @surface0;
margin-right: 10px; padding: 0.5rem 1rem;
border-left: 0px; margin: 5px 0;
border-radius: 0;
font-size: 18px;
} }
#custom-weather { #temperature.gpu {
border-radius: 0px 10px 10px 0px; color: @yellow;
border-right: 0px; background-color: @surface0;
margin-left: 0px; padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0;
}
#temperature {
color: @green;
background-color: @surface0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0;
}
#custom-updates {
color: @teal;
background-color: @surface0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem 0rem 0rem 1rem;
margin-left: 1rem;
}
/* ------------- */
#tray {
background-color: @surface0;
padding: 0.5rem 1rem;
margin: 5px 0;
margin-right: 1rem;
border-radius: 1rem;
} }
''; '';
}; };

View File

@@ -0,0 +1,26 @@
@define-color rosewater #f4dbd6;
@define-color flamingo #f0c6c6;
@define-color pink #f5bde6;
@define-color mauve #c6a0f6;
@define-color red #ed8796;
@define-color maroon #ee99a0;
@define-color peach #f5a97f;
@define-color yellow #eed49f;
@define-color green #a6da95;
@define-color teal #8bd5ca;
@define-color sky #91d7e3;
@define-color sapphire #7dc4e4;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color text #cad3f5;
@define-color subtext1 #b8c0e0;
@define-color subtext0 #a5adcb;
@define-color overlay2 #939ab7;
@define-color overlay1 #8087a2;
@define-color overlay0 #6e738d;
@define-color surface2 #5b6078;
@define-color surface1 #494d64;
@define-color surface0 #363a4f;
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;

View File

@@ -52,7 +52,10 @@ def check():
updates = check_for_flake_updates() updates = check_for_flake_updates()
updates_dict = parse_output(updates.stderr) updates_dict = parse_output(updates.stderr)
data["text"] = (str(len(updates_dict.keys()))) if len(updates_dict.keys()) > 0:
data["text"] = ("󰏕")
else:
data["text"] = ("")
if len(updates_dict.keys()) <= 0: if len(updates_dict.keys()) <= 0:
data["tooltip"] = ("flake inputs up to date") data["tooltip"] = ("flake inputs up to date")
else: else:

View File

@@ -5,61 +5,274 @@ from datetime import datetime
import requests import requests
WEATHER_CODES = { WWO_CODE = {
"113": "☀️ ", "113": "Sunny",
"116": "", "116": "PartlyCloudy",
"119": "☁️ ", "119": "Cloudy",
"122": "☁️ ", "122": "VeryCloudy",
"143": "☁️ ", "143": "Fog",
"176": "🌧️", "176": "LightShowers",
"179": "🌧️", "179": "LightSleetShowers",
"182": "🌧️", "182": "LightSleet",
"185": "🌧️", "185": "LightSleet",
"200": "⛈️ ", "200": "ThunderyShowers",
"227": "🌨️", "227": "LightSnow",
"230": "🌨️", "230": "HeavySnow",
"248": "☁️ ", "248": "Fog",
"260": "☁️ ", "260": "Fog",
"263": "🌧️", "263": "LightShowers",
"266": "🌧️", "266": "LightRain",
"281": "🌧️", "281": "LightSleet",
"284": "🌧️", "284": "LightSleet",
"293": "🌧️", "293": "LightRain",
"296": "🌧️", "296": "LightRain",
"299": "🌧️", "299": "HeavyShowers",
"302": "🌧️", "302": "HeavyRain",
"305": "🌧️", "305": "HeavyShowers",
"308": "🌧️", "308": "HeavyRain",
"311": "🌧️", "311": "LightSleet",
"314": "🌧️", "314": "LightSleet",
"317": "🌧️", "317": "LightSleet",
"320": "🌨️", "320": "LightSnow",
"323": "🌨️", "323": "LightSnowShowers",
"326": "🌨️", "326": "LightSnowShowers",
"329": "❄️ ", "329": "HeavySnow",
"332": "❄️ ", "332": "HeavySnow",
"335": "❄️ ", "335": "HeavySnowShowers",
"338": "❄️ ", "338": "HeavySnow",
"350": "🌧️", "350": "LightSleet",
"353": "🌧️", "353": "LightShowers",
"356": "🌧️", "356": "HeavyShowers",
"359": "🌧️", "359": "HeavyRain",
"362": "🌧️", "362": "LightSleetShowers",
"365": "🌧️", "365": "LightSleetShowers",
"368": "🌧️", "368": "LightSnowShowers",
"371": "❄️", "371": "HeavySnowShowers",
"374": "🌨️", "374": "LightSleetShowers",
"377": "🌨️", "377": "LightSleet",
"386": "🌨️", "386": "ThunderyShowers",
"389": "🌨️", "389": "ThunderyHeavyRain",
"392": "🌧️", "392": "ThunderySnowShowers",
"395": "❄️ ", "395": "HeavySnowShowers",
}
WEATHER_SYMBOL = {
"Unknown": "",
"Cloudy": "☁️",
"Fog": "🌫",
"HeavyRain": "🌧",
"HeavyShowers": "🌧",
"HeavySnow": "❄️",
"HeavySnowShowers": "❄️",
"LightRain": "🌦",
"LightShowers": "🌦",
"LightSleet": "🌧",
"LightSleetShowers": "🌧",
"LightSnow": "🌨",
"LightSnowShowers": "🌨",
"PartlyCloudy": "⛅️",
"Sunny": "☀️",
"ThunderyHeavyRain": "🌩",
"ThunderyShowers": "",
"ThunderySnowShowers": "",
"VeryCloudy": "☁️",
}
WEATHER_CODES = {key: WEATHER_SYMBOL[value] for key, value in WWO_CODE.items()}
WIND_DIRECTION = [
"", "", "", "", "", "", "", "",
]
MOON_PHASES = (
"🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"
)
WEATHER_SYMBOL_WI_DAY = {
"Unknown": "",
"Cloudy": "",
"Fog": "",
"HeavyRain": "",
"HeavyShowers": "",
"HeavySnow": "",
"HeavySnowShowers": "",
"LightRain": "",
"LightShowers": "",
"LightSleet": "",
"LightSleetShowers": "",
"LightSnow": "",
"LightSnowShowers": "",
"PartlyCloudy": "",
"Sunny": "",
"ThunderyHeavyRain": "",
"ThunderyShowers": "",
"ThunderySnowShowers": "",
"VeryCloudy": "",
}
WEATHER_CODES_WI_DAY = {key: WEATHER_SYMBOL_WI_DAY[value] for key, value in WWO_CODE.items()}
WEATHER_SYMBOL_WI_NIGHT = {
"Unknown": "",
"Cloudy": "",
"Fog": "",
"HeavyRain": "",
"HeavyShowers": "",
"HeavySnow": "",
"HeavySnowShowers": "",
"LightRain": "",
"LightShowers": "",
"LightSleet": "",
"LightSleetShowers": "",
"LightSnow": "",
"LightSnowShowers": "",
"PartlyCloudy": "",
"Sunny": "",
"ThunderyHeavyRain": "",
"ThunderyShowers": "",
"ThunderySnowShowers": "",
"VeryCloudy": "",
}
WEATHER_CODES_WI_NIGHT = {key: WEATHER_SYMBOL_WI_NIGHT[value] for key, value in WWO_CODE.items()}
WIND_DIRECTION_WI = [
"", "", "", "", "", "", "", "",
]
WIND_SCALE_WI = [
"", "", "", "", "", "", "", "", "", "", "", "", "",
]
MOON_PHASES_WI = (
"", "", "", "", "", "", "",
"", "", "", "", "", "", "",
"", "", "", "", "", "", "",
"", "", "", "", "", "", "",
)
WEATHER_SYMBOL_WEGO = {
"Unknown": [
" .-. ",
" __) ",
" ( ",
" `- ",
""],
"Sunny": [
"\033[38;5;226m \\ / \033[0m",
"\033[38;5;226m .-. \033[0m",
"\033[38;5;226m ― ( ) ― \033[0m",
"\033[38;5;226m `- \033[0m",
"\033[38;5;226m / \\ \033[0m"],
"PartlyCloudy": [
"\033[38;5;226m \\ /\033[0m ",
"\033[38;5;226m _ /\"\"\033[38;5;250m.-. \033[0m",
"\033[38;5;226m \\_\033[38;5;250m( ). \033[0m",
"\033[38;5;226m /\033[38;5;250m(___(__) \033[0m",
" "],
"Cloudy": [
" ",
"\033[38;5;250m .--. \033[0m",
"\033[38;5;250m .-( ). \033[0m",
"\033[38;5;250m (___.__)__) \033[0m",
" "],
"VeryCloudy": [
" ",
"\033[38;5;240;1m .--. \033[0m",
"\033[38;5;240;1m .-( ). \033[0m",
"\033[38;5;240;1m (___.__)__) \033[0m",
" "],
"LightShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m",
"\033[38;5;226m /\033[38;5;250m(___(__) \033[0m",
"\033[38;5;111m \033[0m",
"\033[38;5;111m \033[0m"],
"HeavyShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;240;1m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;240;1m( ). \033[0m",
"\033[38;5;226m /\033[38;5;240;1m(___(__) \033[0m",
"\033[38;5;21;1m \033[0m",
"\033[38;5;21;1m \033[0m"],
"LightSnowShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m",
"\033[38;5;226m /\033[38;5;250m(___(__) \033[0m",
"\033[38;5;255m * * * \033[0m",
"\033[38;5;255m * * * \033[0m"],
"HeavySnowShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;240;1m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;240;1m( ). \033[0m",
"\033[38;5;226m /\033[38;5;240;1m(___(__) \033[0m",
"\033[38;5;255;1m * * * * \033[0m",
"\033[38;5;255;1m * * * * \033[0m"],
"LightSleetShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m",
"\033[38;5;226m /\033[38;5;250m(___(__) \033[0m",
"\033[38;5;111m \033[38;5;255m*\033[38;5;111m \033[38;5;255m* \033[0m",
"\033[38;5;255m *\033[38;5;111m \033[38;5;255m*\033[38;5;111m \033[0m"],
"ThunderyShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m",
"\033[38;5;226m /\033[38;5;250m(___(__) \033[0m",
"\033[38;5;228;5m ⚡\033[38;5;111;25m \033[38;5;228;5m⚡\033[38;5;111;25m \033[0m",
"\033[38;5;111m \033[0m"],
"ThunderyHeavyRain": [
"\033[38;5;240;1m .-. \033[0m",
"\033[38;5;240;1m ( ). \033[0m",
"\033[38;5;240;1m (___(__) \033[0m",
"\033[38;5;21;1m \033[38;5;228;5m⚡\033[38;5;21;25m\033[38;5;228;5m⚡\033[38;5;21;25m \033[0m",
"\033[38;5;21;1m \033[38;5;228;5m⚡\033[38;5;21;25m \033[0m"],
"ThunderySnowShowers": [
"\033[38;5;226m _`/\"\"\033[38;5;250m.-. \033[0m",
"\033[38;5;226m ,\\_\033[38;5;250m( ). \033[0m",
"\033[38;5;226m /\033[38;5;250m(___(__) \033[0m",
"\033[38;5;255m *\033[38;5;228;5m⚡\033[38;5;255;25m*\033[38;5;228;5m⚡\033[38;5;255;25m* \033[0m",
"\033[38;5;255m * * * \033[0m"],
"LightRain": [
"\033[38;5;250m .-. \033[0m",
"\033[38;5;250m ( ). \033[0m",
"\033[38;5;250m (___(__) \033[0m",
"\033[38;5;111m \033[0m",
"\033[38;5;111m \033[0m"],
"HeavyRain": [
"\033[38;5;240;1m .-. \033[0m",
"\033[38;5;240;1m ( ). \033[0m",
"\033[38;5;240;1m (___(__) \033[0m",
"\033[38;5;21;1m \033[0m",
"\033[38;5;21;1m \033[0m"],
"LightSnow": [
"\033[38;5;250m .-. \033[0m",
"\033[38;5;250m ( ). \033[0m",
"\033[38;5;250m (___(__) \033[0m",
"\033[38;5;255m * * * \033[0m",
"\033[38;5;255m * * * \033[0m"],
"HeavySnow": [
"\033[38;5;240;1m .-. \033[0m",
"\033[38;5;240;1m ( ). \033[0m",
"\033[38;5;240;1m (___(__) \033[0m",
"\033[38;5;255;1m * * * * \033[0m",
"\033[38;5;255;1m * * * * \033[0m"],
"LightSleet": [
"\033[38;5;250m .-. \033[0m",
"\033[38;5;250m ( ). \033[0m",
"\033[38;5;250m (___(__) \033[0m",
"\033[38;5;111m \033[38;5;255m*\033[38;5;111m \033[38;5;255m* \033[0m",
"\033[38;5;255m *\033[38;5;111m \033[38;5;255m*\033[38;5;111m \033[0m"],
"Fog": [
" ",
"\033[38;5;251m _ - _ - _ - \033[0m",
"\033[38;5;251m _ - _ - _ \033[0m",
"\033[38;5;251m _ - _ - _ - \033[0m",
" "],
} }
data = {} data = {}
weather = requests.get("https://wttr.in/?format=j1").json() weather = requests.get("https://wttr.in/u&?format=j1").json()
moon = requests.get("https://wttr.in/?format=%m").text
def format_time(time): def format_time(time):
@@ -104,7 +317,7 @@ data["text"] = (
+ " " + " "
+ extrachar + extrachar
+ weather["current_condition"][0]["FeelsLikeF"] + weather["current_condition"][0]["FeelsLikeF"]
+ "°" + "°F"
) )
data["tooltip"] = ( data["tooltip"] = (
@@ -113,6 +326,7 @@ data["tooltip"] = (
data["tooltip"] += f"Feels like: {weather['current_condition'][0]['FeelsLikeF']}°\n" data["tooltip"] += f"Feels like: {weather['current_condition'][0]['FeelsLikeF']}°\n"
data["tooltip"] += f"Wind: {weather['current_condition'][0]['windspeedMiles']}mph\n" data["tooltip"] += f"Wind: {weather['current_condition'][0]['windspeedMiles']}mph\n"
data["tooltip"] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n" data["tooltip"] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
data["tooltip"] += f"Moon phase: {weather["weather"][0]['astronomy'][0]['moon_phase']} " + moon + "\n"
for i, day in enumerate(weather["weather"]): for i, day in enumerate(weather["weather"]):
data["tooltip"] += f"\n<b>" data["tooltip"] += f"\n<b>"
if i == 0: if i == 0:
@@ -121,17 +335,21 @@ for i, day in enumerate(weather["weather"]):
data["tooltip"] += "Tomorrow, " data["tooltip"] += "Tomorrow, "
date = datetime.strptime(day['date'], "%Y-%m-%d").strftime("%a %b %d %Y") date = datetime.strptime(day['date'], "%Y-%m-%d").strftime("%a %b %d %Y")
data["tooltip"] += f"{date}</b>\n" data["tooltip"] += f"{date}</b>\n"
data["tooltip"] += f"⬆️ {day['maxtempF']}° ⬇️ {day['mintempF']}° " data["tooltip"] += f" {day['maxtempF']}°F  {day['mintempF']}°F"
data[ data[
"tooltip" "tooltip"
] += f"☀️ {day['astronomy'][0]['sunrise']} 🌕 {day['astronomy'][0]['sunset']}\n" ] += f" {day['astronomy'][0]['sunrise']} {day['astronomy'][0]['sunset']}\n"
for hour in day["hourly"]: for hour in day["hourly"]:
if i == 0: if i == 0:
if int(format_24_time(hour["time"])) < datetime.now().hour - 2: if int(format_24_time(hour["time"])) < datetime.now().hour - 2:
continue continue
if int(format_24_time(hour["time"])) > datetime.strptime(day['astronomy'][0]['sunset'], "%I:%M %p").hour or int(format_24_time(hour["time"])) < datetime.strptime(day['astronomy'][0]['sunrise'], "%I:%M %p").hour:
codes = WEATHER_CODES_WI_NIGHT
else:
codes = WEATHER_CODES_WI_DAY
data[ data[
"tooltip" "tooltip"
] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeF'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n" ] += f"{format_time(hour['time'])} {codes[hour['weatherCode']]} {format_temp(hour['FeelsLikeF'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n"
print(json.dumps(data)) print(json.dumps(data))

View File

@@ -0,0 +1,166 @@
@import "macchiato.css";
* {
border: none;
border-radius: 0;
font-family:
Jetbrains Mono Nerd Font,
monospace;
font-weight: bold;
font-size: 14px;
min-height: 0;
}
#window.waybar {
background-color: shade(@base, 0.9);
color: @text;
}
#tooltip {
background: #1e1e2e;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #11111b;
}
#workspaces button {
padding: 5px;
color: #313244;
margin-right: 5px;
}
#workspaces button.active {
color: #a6adc8;
}
#workspaces button.focused {
color: #a6adc8;
background: #eba0ac;
border-radius: 10px;
}
#workspaces button.urgent {
color: #11111b;
background: #a6e3a1;
border-radius: 10px;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
/*#window,
#custom-weather,
#clock,
#network,
#pulseaudio,
#keyboard-state,
#temperature,
#custom-updates,
#tray,
#workspaces,*/
#workspaces {
/* background: #1e1e2e; */
background: #1e2030; /* Mantle */
border-radius: 10px;
margin-left: 10px;
padding-right: 0px;
padding-left: 5px;
}
#tray {
border-radius: 10px;
margin-right: 10px;
}
/* ------------- */
#custom-updates {
color: #f5c2e7;
border-radius: 10px 0px 0px 10px;
border-left: 0px;
border-right: 0px;
}
#window {
border-radius: 10px;
margin-left: 60px;
margin-right: 60px;
}
#temperature {
color: #a6da95;/* Green */
border-left: 0px;
border-right: 0px;
}
#temperature.gpu {
color: #eed49f;/* Yellow */
border-left: 0px;
border-right: 0px;
}
#keyboard-state.capslock {
color: #f5a97f;/* Peach */
border-left: 0px;
border-right: 0px;
}
#keyboard-state.numlock {
color: #ee99a0;/* Maroon */
border-left: 0px;
border-right: 0px;
}
#pulseaudio {
color: #ed8796;/* Red */
border-radius: 0px 0px 0px 0px;
border-left: 0px;
border-right: 0px;
margin-left: 0px;
padding-right: 0px;
padding-top: 0px;
}
#pulseaudio.microphone {
color: #c6a0f6; /* Mauve */
border-radius: 0px 10px 10px 0px;
border-left: 0px;
border-right: 0px;
padding-top: 5px;
}
/* ------------- */
#network {
color: #f5bde6; /* Pink */
border-left: 0px;
border-right: 0px;
border-radius: 10px 10px 10px 10px;
margin-left: 5px;
padding-right: 15px;
}
/* ------------- */
#clock {
color: #f0c6c6; /* Flamingo */
border-radius: 10px 0px 0px 10px;
margin-left: 5px;
border-right: 0px;
}
#custom-weather {
color: #f4dbd6; /* Rosewater */
border-radius: 0px 10px 10px 0px;
border-right: 0px;
margin-left: 0px;
}

View File

@@ -29,6 +29,8 @@ in
portalPackage = pkgs.xdg-desktop-portal-hyprland; portalPackage = pkgs.xdg-desktop-portal-hyprland;
}; };
programs.nm-applet.enable = true;
systemd = { systemd = {
user.services.polkit-gnome-authentication-agent-1 = { user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1"; description = "polkit-gnome-authentication-agent-1";
@@ -80,6 +82,7 @@ in
}; };
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
font-awesome
noto-fonts noto-fonts
noto-fonts-color-emoji noto-fonts-color-emoji
nerdfonts nerdfonts

View File

@@ -15,6 +15,7 @@ in
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
adwaita-icon-theme adwaita-icon-theme
apple-cursor apple-cursor
blueberry
catppuccin catppuccin
catppuccin-gtk catppuccin-gtk
catppuccin-qt5ct catppuccin-qt5ct

View File

@@ -6,6 +6,7 @@ in
{ {
# Configure bootloader with lanzaboot and secureboot # Configure bootloader with lanzaboot and secureboot
boot = { boot = {
kernelModules = [ "nct6775" ];
loader = { loader = {
systemd-boot = { systemd-boot = {
enable = true; enable = true;

View File

@@ -213,6 +213,30 @@ in
}; };
}; };
hardware.fancontrol = {
enable = true;
config = ''
# Configuration file generated by pwmconfig, changes will be lost
# hwmon6/temp9_input -- chipset temp?
# hwmon2/temp1_input -- cpu temp?
# hwmon6/pwm5 -- chipset fan?
# hwmon6/pwm2, hwmon6/pwm3 -- cpu fans?
# hwmon6/pwm4 -- case fans?
INTERVAL=10
DEVPATH=hwmon2=devices/pci0000:00/0000:00:18.3 hwmon6=devices/platform/nct6775.656
DEVNAME=hwmon2=k10temp hwmon6=nct6798
FCTEMPS=hwmon6/pwm5=hwmon6/temp9_input hwmon6/pwm2=hwmon2/temp1_input hwmon6/pwm3=hwmon2/temp1_input hwmon6/pwm4=hwmon2/temp1_input
FCFANS=hwmon6/pwm5=hwmon6/fan5_input hwmon6/pwm2=hwmon6/fan2_input hwmon6/pwm3=hwmon6/fan3_input hwmon6/pwm4=hwmon6/fan4_input
MINTEMP=hwmon6/pwm5=20 hwmon6/pwm2=20 hwmon6/pwm3=20 hwmon6/pwm4=20
MAXTEMP=hwmon6/pwm5=60 hwmon6/pwm2=90 hwmon6/pwm3=90 hwmon6/pwm4=90
MINSTART=hwmon6/pwm5=16 hwmon6/pwm2=90 hwmon6/pwm3=45 hwmon6/pwm4=60
MINSTOP=hwmon6/pwm5=14 hwmon6/pwm2=0 hwmon6/pwm3=30 hwmon6/pwm4=45
MINPWM=hwmon6/pwm5=14 hwmon6/pwm2=0 hwmon6/pwm3=0 hwmon6/pwm4=0
MAXPWM=hwmon6/pwm5=255 hwmon6/pwm2=255 hwmon6/pwm3=255 hwmon6/pwm4=255
'';
};
# Virtualisation # Virtualisation
virtualisation = { virtualisation = {
docker = { docker = {

View File

@@ -11,6 +11,8 @@
mangohud.enable = true; mangohud.enable = true;
java.enable = true; java.enable = true;
btop.enable = true;
zsh = { zsh = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;

36
hosts/nas/sensors.txt Normal file
View File

@@ -0,0 +1,36 @@
Common Settings:
INTERVAL=10
Settings of hwmon6/pwm5: -- chipset?
Depends on hwmon6/temp9_input
Controls hwmon6/fan5_input
MINTEMP=20
MAXTEMP=60
MINSTART=16
MINSTOP=14
MINPWM=14
Settings of hwmon6/pwm4: -- case?
Depends on hwmon2/temp1_input
Controls hwmon6/fan4_input
MINTEMP=20
MAXTEMP=90
MINSTART=60
MINSTOP=45
Settings of hwmon6/pwm3: -- cpu?
Depends on hwmon2/temp1_input
Controls hwmon6/fan3_input
MINTEMP=20
MAXTEMP=90
MINSTART=150
MINSTOP=0
MAXPWM=30
Settings of hwmon6/pwm2: -- cpu?
Depends on hwmon2/temp1_input
Controls hwmon6/fan2_input
MINTEMP=20
MAXTEMP=90
MINSTART=105
MINSTOP=0

View File

@@ -1,7 +1,6 @@
{ config, pkgs, ... }: { pkgs, ... }:
let let
enableDisplayManager = false; enableDisplayManager = false;
hostname = "jallen-nas";
in in
{ {
# Services configs # Services configs
@@ -62,63 +61,6 @@ in
enable = true; enable = true;
}; };
grafana = {
enable = false;
settings.server = {
http_port = 2342;
domain = hostname;
serve_from_sub_path = true;
http_addr = "";
};
dataDir = "/media/nas/ssd/nix-app-data/grafana";
};
prometheus = {
enable = false;
port = 9001;
exporters = {
node = {
enable = true;
enabledCollectors = [
"diskstats"
"systemd"
];
port = 9002;
};
smartctl = {
enable = true;
group = "disk";
devices = [
"/dev/sda"
"/dev/sdb"
"/dev/sdc"
"/dev/sdd"
"/dev/sde"
"/dev/sdf"
"/dev/sdg"
"/dev/sdh"
"/dev/sdi"
"/dev/nvme0n1"
"/dev/nvme1n1"
];
};
};
scrapeConfigs = [
{
job_name = hostname;
static_configs = [
{
targets = [
"127.0.0.1:${toString config.services.prometheus.exporters.node.port}"
"127.0.0.1:${toString config.services.prometheus.exporters.smartctl.port}"
];
}
];
}
];
};
tailscale = { tailscale = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
@@ -209,40 +151,6 @@ in
''; '';
}; };
tailscale-autoconnect = {
enable = false;
description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale
after = [
"network-pre.target"
"tailscale.service"
];
wants = [
"network-pre.target"
"tailscale.service"
];
wantedBy = [ "multi-user.target" ];
# set this service as a oneshot job
serviceConfig.Type = "oneshot";
# have the job run this shell script
script = with pkgs; ''
# wait for tailscaled to settle
sleep 2
# check if we are already authenticated to tailscale
status="$(${tailscale}/bin/tailscale status -json | ${jq}/bin/jq -r .BackendState)"
if [ $status = "Running" ]; then # if so, then do nothing
exit 0
fi
# otherwise authenticate with tailscale
${tailscale}/bin/tailscale up -authkey nodekey:e4557e761f8fa2cb51a189d32484092036d3954b61502b7e19688869a5107707
'';
};
glances-server = { glances-server = {
path = [ path = [
pkgs.bash pkgs.bash

View File

@@ -25,14 +25,20 @@
group = "colord"; group = "colord";
mode = "u=rwx,g=rx,o="; mode = "u=rwx,g=rx,o=";
} }
{
directory = "/etc/nix";
user = "root";
group = "root";
mode = "u=rwx,g=rx,o=rx";
}
]; ];
files = [ files = [
{ # {
file = "/etc/nix/id_rsa"; # file = "/etc/nix/id_rsa";
parentDirectory = { # parentDirectory = {
mode = "u=rwx,g=,o="; # mode = "u=rwx,g=,o=";
}; # };
} # }
]; ];
}; };
} }