nix flake update; nixvim; firefox stuff

This commit is contained in:
xqtc 2024-07-15 15:19:54 +02:00
parent fe076d1056
commit d2556811cf
13 changed files with 459 additions and 251 deletions

View file

@ -41,11 +41,9 @@
trusted-users = ["xqtc"]; trusted-users = ["xqtc"];
substituters = [ substituters = [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.saumon.network/proxmox-nixoshttps://cache.saumon.network/proxmox-nixos"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"proxmox-nixos:nveXDuVVhFDRFx8Dn19f1WDEaNRJjPrF2CPD2D+m1ys="
]; ];
}; };
} }

View file

@ -7,11 +7,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1718588737, "lastModified": 1720977090,
"narHash": "sha256-06acqoMEYtc+/w5gWiIIuUFfdtdOBKlp1qrC/InRiBY=", "narHash": "sha256-O9S9kbZTAAeZz+R7cDY5FQsqsLD3SloD8eEg6BFx0G0=",
"owner": "tpwrules", "owner": "tpwrules",
"repo": "nixos-apple-silicon", "repo": "nixos-apple-silicon",
"rev": "b0a2376f6c164a0af963d47386c064cc6fdcd5ea", "rev": "6015c1e2f91896e0b7a983c2824c665af32f568a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -24,14 +24,15 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"onchg": "onchg"
}, },
"locked": { "locked": {
"lastModified": 1720032541, "lastModified": 1720429515,
"narHash": "sha256-PqBjivVCJS3qUXVBMeTLj03OlY2E5/TfJssd/p2m8js=", "narHash": "sha256-r73eyaZzaNgysusdaFmanOHcYMVnRxdAYzD4BvkBjmU=",
"owner": "aksiksi", "owner": "aksiksi",
"repo": "compose2nix", "repo": "compose2nix",
"rev": "923f6bc058118f76e69ed96332e40a472d8fd702", "rev": "a55aea08f1eb34cc1681c9ea2d7b42b58730df5d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -61,7 +62,7 @@
}, },
"devshell": { "devshell": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_5",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
"nixpkgs" "nixpkgs"
@ -83,16 +84,16 @@
}, },
"firefox-addons": { "firefox-addons": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1720238603, "lastModified": 1721016201,
"narHash": "sha256-XWcTKM/uVy7GP7QT8skZ9ywPqIPLhb9Sw7qBH+ZF5YM=", "narHash": "sha256-Jk54PIyWbdYLsi5tTQ3SFG4RWOqA5ui6+I9hjthM63o=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "c8799be7f004121f87ad702d61980d738405a51a", "rev": "41341e2fdeb70555c92ec7a4d3cd13a8498897fd",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -132,22 +133,6 @@
} }
}, },
"flake-compat_3": { "flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_4": {
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
@ -170,11 +155,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719877454, "lastModified": 1719994518,
"narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -184,6 +169,21 @@
} }
}, },
"flake-utils": { "flake-utils": {
"locked": {
"lastModified": 1652776076,
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": { "locked": {
"lastModified": 1629284811, "lastModified": 1629284811,
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
@ -198,7 +198,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
}, },
@ -216,7 +216,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": { "flake-utils_4": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
}, },
@ -234,7 +234,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": { "flake-utils_5": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_3"
}, },
@ -252,7 +252,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_5": { "flake-utils_6": {
"inputs": { "inputs": {
"systems": "systems_5" "systems": "systems_5"
}, },
@ -287,7 +287,10 @@
}, },
"git-hooks": { "git-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": [
"nixvim",
"flake-compat"
],
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
@ -299,11 +302,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719259945, "lastModified": 1720524665,
"narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "narHash": "sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "rev": "8d6a17d0cdf411c55f12602624df6368ad86fac1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -341,11 +344,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1720188602, "lastModified": 1720734513,
"narHash": "sha256-lC3byBmhVZFzWl/dCic8+cKUEEAXAswWOYjq4paFmbo=", "narHash": "sha256-neWQ8eNtLTd+YMesb7WjKl1SVCbDyCm46LUgP/g/hdo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e3582e5151498bc4d757e8361431ace8529e7bb7", "rev": "90ae324e2c56af10f20549ab72014804a3064c7f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -363,11 +366,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719827439, "lastModified": 1720734513,
"narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=", "narHash": "sha256-neWQ8eNtLTd+YMesb7WjKl1SVCbDyCm46LUgP/g/hdo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "59ce796b2563e19821361abbe2067c3bb4143a7d", "rev": "90ae324e2c56af10f20549ab72014804a3064c7f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -392,7 +395,7 @@
}, },
"lix-module": { "lix-module": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"flakey-profile": "flakey-profile", "flakey-profile": "flakey-profile",
"lix": "lix", "lix": "lix",
"nixpkgs": [ "nixpkgs": [
@ -416,11 +419,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1718355099, "lastModified": 1720270372,
"narHash": "sha256-o4K6QHBjXrmcYkX9MIw9gZ+DHM3OaEVswswHRX9h8Is=", "narHash": "sha256-G5iteuo2gobI0Y5jHNEBc6UN9ixjwj6zopPKi7bJBE4=",
"owner": "viperML", "owner": "viperML",
"repo": "nh", "repo": "nh",
"rev": "6fb30a4d490a98d08628ed93a90a9d23820ef9c8", "rev": "7f8a1859ed6ea971fcf49b07ca8938e3000c3af4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -437,11 +440,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719845423, "lastModified": 1720845312,
"narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=", "narHash": "sha256-yPhAsJTpyoIPQZJGC8Fw8W2lAXyhLoTn+HP20bmfkfk=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "ec12b88104d6c117871fad55e931addac4626756", "rev": "5ce8503cf402cf76b203eba4b7e402bea8e44abc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -450,6 +453,29 @@
"type": "github" "type": "github"
} }
}, },
"nix-pre-commit": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"compose2nix",
"onchg",
"nixpkgs"
]
},
"locked": {
"lastModified": 1653259102,
"narHash": "sha256-XfCEu4zur/N2Dk4v8wFiQAgJ7bgNqPqwWp1vBXkeczM=",
"owner": "jmgilman",
"repo": "nix-pre-commit",
"rev": "6a99b2711c7eac9960939d8eb91e84322b22d50c",
"type": "github"
},
"original": {
"owner": "jmgilman",
"repo": "nix-pre-commit",
"type": "github"
}
},
"nixos-aarch64-widevine": { "nixos-aarch64-widevine": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
@ -470,11 +496,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1719895800, "lastModified": 1720737798,
"narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", "narHash": "sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "6e253f12b1009053eff5344be5e835f604bb64cd", "rev": "c5013aa7ce2c7ec90acee5d965d950c8348db751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -486,27 +512,27 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1718318537, "lastModified": 1720542800,
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=", "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420", "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420", "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-2405": { "nixpkgs-2405": {
"locked": { "locked": {
"lastModified": 1720110830, "lastModified": 1720954236,
"narHash": "sha256-E5dN9GDV4LwMEduhBLSkyEz51zM17XkWZ3/9luvNOPs=", "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c0d0be00d4ecc4b51d2d6948e37466194c1e6c51", "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -518,11 +544,11 @@
}, },
"nixpkgs-master": { "nixpkgs-master": {
"locked": { "locked": {
"lastModified": 1720263701, "lastModified": 1721038144,
"narHash": "sha256-fKYOxXAXAv7zgfPVC1jWPJH6QrJ650IdJpFD9Mm5j0Y=", "narHash": "sha256-iIgCW53v4ai+Q7ZUmELXX2aA+gMrZpOMhCOzYenLUnI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "731dc15f156f9d28a60bf6b4629994d6bf883975", "rev": "113763dc869d2dd4330f6f5614ec5400b0802c60",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -534,26 +560,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1719426051, "lastModified": 1720915306,
"narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", "narHash": "sha256-6vuViC56+KSr+945bCV8akHK+7J5k6n/epYg/W3I5eQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", "rev": "74348da2f3a312ee25cea09b98cdba4cb9fa5d5d",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-24.05",
"type": "indirect"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1719720450,
"narHash": "sha256-57+R2Uj3wPeDeq8p8un19tzFFlgWiXJ8PbzgKtBgBX8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "78f8641796edff3bfabbf1ef5029deadfe4a21d0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -581,11 +592,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1716991068, "lastModified": 1719663039,
"narHash": "sha256-Av0UWCCiIGJxsZ6TFc+OiKCJNqwoxMNVYDBChmhjNpo=", "narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "25cf937a30bf0801447f6bf544fc7486c6309234", "rev": "4a1e673523344f6ccc84b37f4413ad74ea19a119",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -613,11 +624,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1720031269, "lastModified": 1720768451,
"narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "narHash": "sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "rev": "7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -645,11 +656,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1720386169, "lastModified": 1718208800,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "rev": "cc54fb41d13736e92229c21627ea4f22199fee6b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -688,11 +699,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1720222362, "lastModified": 1721037488,
"narHash": "sha256-3chuZmpQDhod758MzQJQQnoa08NalySx6gyv/T6LEIQ=", "narHash": "sha256-8sijRffJ4B6uzoKedXnNMZWZM4M0STV3kQEjZ6x7M3g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "edc8602d4723e172405ae00e778c7b407885d6c8", "rev": "433d2f213c76945ae108d7a7c93e7b499d58680e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -701,20 +712,42 @@
"type": "github" "type": "github"
} }
}, },
"onchg": {
"inputs": {
"nix-pre-commit": "nix-pre-commit",
"nixpkgs": [
"compose2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1720368454,
"narHash": "sha256-NUSw3G2gsQX8/G64/pDBb1oitM+x13m7nFRvpiI4a+s=",
"owner": "aksiksi",
"repo": "onchg-rs",
"rev": "c42b693d10920874b3644ef1502e33318409d69c",
"type": "github"
},
"original": {
"owner": "aksiksi",
"repo": "onchg-rs",
"type": "github"
}
},
"proxmox-nixos": { "proxmox-nixos": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_3",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable", "unstable": "unstable",
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1719988415, "lastModified": 1720733826,
"narHash": "sha256-bUVo+LApRTJUUi1YIAQwtH2S521ZHYa8nwityjC2Few=", "narHash": "sha256-vceyHamwxJo3E71byjeHhhcXNmEKopV0bRLmVqXhpKE=",
"owner": "SaumonNet", "owner": "SaumonNet",
"repo": "proxmox-nixos", "repo": "proxmox-nixos",
"rev": "ff9bcfe67d34bf7ae25a065f2a732815904b4001", "rev": "61b9547a97120b6091b6e919a195ebf92acb33ad",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -728,7 +761,7 @@
"apple-silicon": "apple-silicon", "apple-silicon": "apple-silicon",
"compose2nix": "compose2nix", "compose2nix": "compose2nix",
"firefox-addons": "firefox-addons", "firefox-addons": "firefox-addons",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"home-manager": "home-manager", "home-manager": "home-manager",
"lix-module": "lix-module", "lix-module": "lix-module",
"nh": "nh", "nh": "nh",
@ -764,14 +797,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1720187017, "lastModified": 1720926522,
"narHash": "sha256-Zq+T1Bvd0ShZB9XM+bP0VJK3HjsSVQBLolkaCLBQnfQ=", "narHash": "sha256-eTpnrT6yu1vp8C0B5fxHXhgKxHoYMoYTEikQx///jxY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "1b11e208cee97c47677439625dc22e5289dcdead", "rev": "0703ba03fd9c1665f8ab68cc3487302475164617",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -782,7 +815,7 @@
}, },
"spicetify-nix": { "spicetify-nix": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_5", "flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
@ -882,11 +915,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719887753, "lastModified": 1720818892,
"narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", "narHash": "sha256-f52x9srIcqQm1Df3T+xYR5P6VfdnDFa2vkkcLhlTp6U=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", "rev": "5b002f8a53ed04c1a4177e7b00809d57bd2c696f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -895,6 +928,21 @@
"type": "github" "type": "github"
} }
}, },
"unstable": {
"locked": {
"lastModified": 1718318537,
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_4"

View file

@ -33,24 +33,111 @@ pkgs=$(nix-store --query --requisites /run/current-system | wc -l)
arch=$(nix-instantiate --eval -E 'builtins.currentSystem') arch=$(nix-instantiate --eval -E 'builtins.currentSystem')
arch_sanitized=$(echo $arch | sed 's/^"//;s/"$//') arch_sanitized=$(echo $arch | sed 's/^"//;s/"$//')
fetch() { fetch() {
echo "${cyan}$(tput bold) _ ___ ____ ____ ${normal}$(tput sgr0)" # echo "${cyan}$(tput bold) _ ___ ____ ____ ${normal}$(tput sgr0)"
echo "${cyan}$(tput bold) / |/ (_)_ __/ __ \/ __/ ${normal}$(tput sgr0)" # echo "${cyan}$(tput bold) / |/ (_)_ __/ __ \/ __/ ${normal}$(tput sgr0)"
echo "${cyan}$(tput bold) / / /\ \ / /_/ /\ \ ${normal}$(tput sgr0)" # echo "${cyan}$(tput bold) / / /\ \ / /_/ /\ \ ${normal}$(tput sgr0)"
echo "${cyan}$(tput bold) /_/|_/_//_\_"'\\'"____/___/ ${normal}$(tput sgr0)" # echo "${cyan}$(tput bold) /_/|_/_//_\_"'\\'"____/___/ ${normal}$(tput sgr0)"
echo "" # echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo " ╭─────────────╮ " # echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠞⠛⣦⠎⠁⠹⣆⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${red}${normal} user │ ${red}$(whoami)${normal}" # echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣄⣿⠀⠀⢸⠀⠀⢰⡏⢀⠿⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${yellow}${normal} distro │ ${yellow}$(sed -nE "s@PRETTY_NAME=\"([^\"]*)\"@\1@p" /etc/os-release)${normal} " # echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠁⠘⣿⡀⢀⣸⠀⡴⠋⠻⡏⠀⢘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${green}${normal} kernel │ ${green}$(uname -r)${normal} " # echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣤⣤⣤⣀⣸⣇⠀⣼⣷⠞⣷⣾⡅⠀⢠⡗⢀⡼⠟⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}󱂬 ${normal} de/wm │ ${cyan}$XDG_CURRENT_DESKTOP${normal} " # echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⣀⣤⡀⠀⣀⠀⠀⠀⠀⠀⣀⣴⠖⠛⠉⠁⠀⠀⠀⠀⠀⠀⠉⠛⢮⣿⡏⣿⡾⣿⠃⢀⣼⡷⠞⠁⢀⡾⠁⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${blue}${normal} uptime │ ${blue}${up}${normal} " # echo "${cyan}$(tput bold)⠀⢠⡟⠳⣄⡇⠀⢳⡄⠈⢳⡀⢀⣴⠾⠋⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⣿⣷⣼⣷⣄⣦⣾⢿⣷⣶⣺⣍⣀⣀⠀⣀⣀⣀⣀⡀⠀⠀${normal}$(tput sgr0)"
echo "${magenta}${normal} shell │ ${magenta}$(echo ${SHELL##*/})${normal} " # echo "${cyan}$(tput bold)⠀⠸⣇⠀⠘⣷⣄⠀⣧⣀⠀⣧⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⣄⣀⠀⠀⠹⠿⢿⣿⣿⣻⡾⠁⠀⣽⠋⠀⢸⠛⠁⠀⠀⠀⠀⠙⠒${normal}$(tput sgr0)"
echo "${red}󰏖 ${normal} pkgs │ ${red}${pkgs}${normal} " # echo "${cyan}$(tput bold)⢠⡶⠾⠷⣄⣈⣿⣷⣈⣷⣴⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠙⣿⣏⣻⣯⣆⠙⠶⣷⣿⣷⣿⡿⠁⢐⣾⠃⣀⡴⠿⣾⠉⢉⡿⠁⠀⡠⠂${normal}$(tput sgr0)"
echo "${yellow}${normal} arch │ ${yellow}${arch_sanitized}${normal} " # echo "${cyan}$(tput bold)⠈⢧⡤⢤⣤⡖⠻⣯⡟⣿⣿⣷⣷⠀⠀⠀⢀⣤⣤⣤⠤⠾⠛⠀⠀⠀⠉⡍⠘⠁⠀⠀⠩⠙⣛⣿⣿⣿⡿⢿⠟⣁⣀⣠⠟⠀⡾⠁⠀⡜⠀⠀${normal}$(tput sgr0)"
echo " ├─────────────┤ " # echo "${cyan}$(tput bold)⠀⠸⣇⠀⠙⢷⡿⠿⣓⢸⣿⡿⢿⡆⠠⠴⠞⠷⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⢀⣿⣉⠘⠙⢿⣆⠐⣾⠉⠀⠀⢸⠃⠀⠰⡁⠀⠀${normal}$(tput sgr0)"
echo "${_white}${normal}colors │${_white}$unicode${normal}${red}$unicode${normal}${yellow}$unicode${normal}${green}$unicode${normal}${cyan}$unicode${normal}${blue}$unicode${normal}${magenta}$unicode${normal}${_black}$unicode${normal}" # echo "${cyan}$(tput bold)⠀⡴⠞⠷⠦⠈⣳⣄⣹⣿⣿⠻⠾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡞⣿⠳⢶⣄⣀⠀⢀⡾⠃⠙⣷⢶⠾⠉⠋⠁⠀⠀⠀⢸⡄⠀⠀⣇⠀⠀${normal}$(tput sgr0)"
echo " ╰─────────────╯ " # echo "${cyan}$(tput bold)⠀⠳⣄⣀⣠⡾⠻⣯⡻⢿⣿⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⡈⠆⠀⠈⠛⠛⠟⠓⠒⠾⢧⣤⡀⠀⠀⠀⠀⠀⠀⠈⣇⠀⠀⢸⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⢰⠞⠻⢦⣀⣈⣽⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠓⠒⠶⣤⡀⠀⠀⣿⠀⠀⢸⡇⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠈⠓⠦⡖⠋⢠⠏⢈⣹⣾⡏⠛⣶⣤⣄⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣼⠟⠀⣸⠋⠀⠀⣸⠁⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠁⠈⠙⠶⠟⠉⠋⠀⠸⣧⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠞⢉⣠⡴⠚⠉⠀⠀⣰⠇⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠲⠦⠤⠤⠤⠤⢤⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⡏⠉⠉⠉⠀⠀⠀⠀⣠⡼⠁⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠳⢦⣤⣀⠀⠀⠀⠀⠀⠘⣋⣀⣙⣿⠦⠤⠤⠴⠶⠛⠁⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠷⠶⠶⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣶⣦⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡄⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⣀⡀⢀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣷⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⡃⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⢹⣿⣿⣿⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢸⣿⣿⣿⡆⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣆⣀⣼⣿⣿⣿⣧⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠉⠉⠛⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠛⠛⠛⠛⠉⠋⠀⠀⠀⠀⠀⠀⠈⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⢸⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠻⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⠃${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠉⠙⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡿⠟⠋⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⠏⠙⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
if [[ $(($RANDOM % 2)) == 0 ]]; then
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⡆⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⣾⢡⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣷⡦⠀⠀⠀⠀⢰⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠃⣠⣾⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣆⠀⠀⠀⣾⣿⣿⣿⣷⠄⠀⠰⠤⣀⠀⠀⣴⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠃⢺⣿⣿⣿⣿⡄⠀⠀⣿⣿⢿⣿⣿⣦⣦⣦⣶⣼⣭⣼⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣷⡆⠂⣿⣿⣞⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢙⣿⣿⣿⣿⣷⠸⣿⣿⣿⣿⣿⣿⠟⠻⣿⣿⣿⣿⡿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⢿⣿⣿⣿⣿⡄⣿⣿⣿⣿⣿⣿⡀⢀⣿⣿⣿⣿⠀⢸⣿⣿⠅⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢐⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⡀⣠⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⢁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠠⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⣀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⣻⣿⣿⣿⣿⣿⡟⠋⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠙⢿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⠿⢿⡿⠛⠋⠁⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣅⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⣿⣿⣿⣿⡟⠃⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⣿⣿⣿⣿⣤⡀⠀⠀⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠜⢠⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣦⠄⣠⠀${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠠⢸⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠛⣿⣿⣿⡿⠏⠀⠀⠀⠀⠀⠀⢳⣾⣿⣿⣿⣿⣿⣿⡶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⢨⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⡿⡿⠿⠛⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠏⠉⠻⠿⠟⠁${normal}$(tput sgr0)"
echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${normal}$(tput sgr0)"
echo "${cyan}$(tput bold) meow! ${normal}$(tput sgr0)"
else
# echo "${cyan}$(tput bold) _ へ |、 ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) ૮ - ՛ ) つ(> < 7 ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) / ⁻ ៸ 、˜〵${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) 乀 (ˍ, ل じしˍ,)${normal}$(tput sgr0)"
echo ""
echo " ╭─────────────╮ "
echo "${red}${normal} user │ ${red}$(whoami)${normal}"
echo "${yellow}${normal} distro │ ${yellow}$(sed -nE "s@PRETTY_NAME=\"([^\"]*)\"@\1@p" /etc/os-release)${normal} "
echo "${green}${normal} kernel │ ${green}$(uname -r)${normal} "
echo "${cyan}󱂬 ${normal} de/wm │ ${cyan}$XDG_CURRENT_DESKTOP${normal} "
echo "${blue}${normal} uptime │ ${blue}${up}${normal} "
echo "${magenta}${normal} shell │ ${magenta}$(echo ${SHELL##*/})${normal} "
echo "${red}󰏖 ${normal} pkgs │ ${red}${pkgs}${normal} "
echo "${yellow}${normal} arch │ ${yellow}${arch_sanitized}${normal} "
echo " ├─────────────┤ "
echo "${_white}${normal}colors │${_white}$unicode${normal}${red}$unicode${normal}${yellow}$unicode${normal}${green}$unicode${normal}${cyan}$unicode${normal}${blue}$unicode${normal}${magenta}$unicode${normal}${_black}$unicode${normal}"
echo " ╰─────────────╯ "
fi
} }
fetch && exit 0 fetch && exit 0

View file

@ -34,7 +34,7 @@ with inputs; {
noscript noscript
]; ];
search = { search = {
default = "SearX"; default = "DuckDuckGo";
force = true; force = true;
engines = { engines = {
"SearX" = { "SearX" = {
@ -49,6 +49,9 @@ with inputs; {
]; ];
} }
]; ];
iconUpdateURL = "https://searx.org/favicon.ico";
definedAliases = ["@sx"];
}; };
"Nix Packages" = { "Nix Packages" = {
urls = [ urls = [

View file

@ -42,6 +42,23 @@
neocord.enable = true; neocord.enable = true;
rustaceanvim = { rustaceanvim = {
enable = true; enable = true;
settings = {
dap.autoloadConfigurations = true;
dap.adapter = let
code-lldb = pkgs.vscode-extensions.vadimcn.vscode-lldb;
in {
executable.command = "${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
executable.args = [
"--liblldb"
"${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/lldb/lib/liblldb.dylib"
"--port"
"31337"
];
type = "server";
port = "31337";
host = "127.0.0.1";
};
};
server = { server = {
settings = { settings = {
inlayHints = { inlayHints = {
@ -77,6 +94,13 @@
nil_ls.enable = true; nil_ls.enable = true;
}; };
}; };
dap = {
enable = true;
extensions = {
dap-virtual-text.enable = true;
dap-ui.enable = true;
};
};
gitsigns.enable = true; gitsigns.enable = true;
fugitive.enable = true; fugitive.enable = true;
nix-develop.enable = true; nix-develop.enable = true;
@ -161,18 +185,45 @@
} }
{ {
type = "text"; type = "text";
val = [ # val = [
" " # " ▒██ ██▒ █████ ▄▄▄█████▓ ▄████▄ "
" " # " ▒▒ █ █ ▒░▒██▓ ██▒▓ ██▒ ▓▒▒██▀ ▀█ "
" " # " ░░ █ ░▒██▒ ██░▒ ▓██░ ▒░▒▓█ ▄ "
" " # " ░ █ █ ▒ ░██ █▀ ░░ ▓██▓ ░ ▒▓▓▄ ▄██▒ "
" " # " ▒██▒ ▒██▒░▒███▒█▄ ▒██▒ ░ ▒ ▓███▀ ░ "
" " # " ▒▒ ░ ░▓ ░░░ ▒▒░ ▒ ▒ ░░ ░ ░▒ ▒ ░ "
" " # " ░░ ░▒ ░ ░ ▒░ ░ ░ ░ ▒ "
" " # " ░ ░ ░ ░ ░ ░ "
" " # " ░ ░ ░ ░ ░ "
" " # " ░ "
]; # ];
val = [
" "
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
" "
];
#val = [ #val = [
# " ███████████████ ██████████████████" # " ███████████████ ██████████████████"
# " ███████████████ ██ " # " ███████████████ ██ "

View file

@ -4,10 +4,10 @@
pkgs, pkgs,
... ...
}: { }: {
services.clamav = { # services.clamav = {
updater.enable = true; # updater.enable = true;
updater.settings = {LogVerbose = true;}; # updater.settings = {LogVerbose = true;};
updater.interval = "hourly"; # updater.interval = "hourly";
daemon.enable = true; # daemon.enable = true;
}; # };
} }

View file

@ -21,7 +21,7 @@ with lib; {
./docker.nix ./docker.nix
# ./borg.nix # ./borg.nix
# ./nfs.nix # ./nfs.nix
../../gc.nix # ../../gc.nix
../../../common ../../../common
]; ];

View file

@ -7,7 +7,7 @@
}: let }: let
gitea-actions-runner-custom = import ./services/gitea-runner.nix; gitea-actions-runner-custom = import ./services/gitea-runner.nix;
in { in {
imports = [ gitea-actions-runner-custom ]; imports = [gitea-actions-runner-custom];
# config = { services.gitea-actions-runner = gitea-actions-runner-custom.config.services.gitea-actions-runner; }; # config = { services.gitea-actions-runner = gitea-actions-runner-custom.config.services.gitea-actions-runner; };
sops.secrets.forgejo_runner_token = { sops.secrets.forgejo_runner_token = {
owner = "forgejo"; owner = "forgejo";
@ -27,7 +27,9 @@ in {
}; };
DEFAULT = { DEFAULT = {
APP_NAME = "Git so good it could be heroin"; APP_NAME = "Git so good it could be heroin";
APP_DESC = "For an account, contact me via Mastodon"; };
metrics = {
ENABLED = true;
}; };
}; };
}; };
@ -43,7 +45,7 @@ in {
"ubuntu-22.04:docker://node:16-bullseye" "ubuntu-22.04:docker://node:16-bullseye"
"ubuntu-20.04:docker://node:16-bullseye" "ubuntu-20.04:docker://node:16-bullseye"
"ubuntu-18.04:docker://node:16-buster" "ubuntu-18.04:docker://node:16-buster"
"native:host" "native:host"
]; ];
hostPackages = with pkgs; [ hostPackages = with pkgs; [
bash bash

View file

@ -61,6 +61,7 @@
targets = [ targets = [
"127.0.0.1:${toString config.services.prometheus.exporters.node.port}" "127.0.0.1:${toString config.services.prometheus.exporters.node.port}"
"127.0.0.1:${toString config.services.prometheus.exporters.nextcloud.port}" "127.0.0.1:${toString config.services.prometheus.exporters.nextcloud.port}"
"127.0.0.1:${toString config.services.forgejo.settings.server.HTTP_PORT}"
]; ];
} }
]; ];

View file

@ -57,11 +57,11 @@
contacts contacts
calendar calendar
notes notes
previewgenerator # previewgenerator
; ;
recognize = pkgs.fetchNextcloudApp { recognize = pkgs.fetchNextcloudApp {
sha256 = "sha256-7qp9UbUcMwBNdGixaR0BAigMAtlyCAN39WxqHbsFVGE="; sha256 = "sha256-hg8uY7cvdYnmEh6vKC36vkORDC+MSZA8lFqGQK2RbkE=";
url = "https://github.com/nextcloud/recognize/releases/download/v7.0.0/recognize-7.0.0.tar.gz"; url = "https://github.com/nextcloud/recognize/releases/download/v7.0.2/recognize-7.0.2.tar.gz";
license = "agpl3Only"; license = "agpl3Only";
}; };
}; };

View file

@ -1,12 +1,12 @@
{ config {
, lib config,
, pkgs lib,
, utils pkgs,
, ... utils,
}: ...
}: let
let inherit
inherit (lib) (lib)
any any
attrValues attrValues
concatStringsSep concatStringsSep
@ -23,15 +23,16 @@ let
mkIf mkIf
nameValuePair nameValuePair
types types
; ;
inherit (utils) inherit
(utils)
escapeSystemdPath escapeSystemdPath
; ;
cfg = config.services.gitea-actions-runner-custom; cfg = config.services.gitea-actions-runner-custom;
settingsFormat = pkgs.formats.yaml { }; settingsFormat = pkgs.formats.yaml {};
# Check whether any runner instance label requires a container runtime # Check whether any runner instance label requires a container runtime
# Empty label strings result in the upstream defined defaultLabels, which require docker # Empty label strings result in the upstream defined defaultLabels, which require docker
@ -47,16 +48,15 @@ let
hasPodman = config.virtualisation.podman.enable; hasPodman = config.virtualisation.podman.enable;
tokenXorTokenFile = instance: tokenXorTokenFile = instance:
(instance.token == null && instance.tokenFile != null) || (instance.token == null && instance.tokenFile != null)
(instance.token != null && instance.tokenFile == null); || (instance.token != null && instance.tokenFile == null);
in in {
{
meta.maintainers = with lib.maintainers; [ meta.maintainers = with lib.maintainers; [
hexa hexa
]; ];
options.services.gitea-actions-runner-custom = with types; { options.services.gitea-actions-runner-custom = with types; {
package = mkPackageOption pkgs "gitea-actions-runner-custom" { }; package = mkPackageOption pkgs "gitea-actions-runner-custom" {};
instances = mkOption { instances = mkOption {
default = {}; default = {};
@ -131,7 +131,7 @@ in
freeformType = settingsFormat.type; freeformType = settingsFormat.type;
}; };
default = { }; default = {};
}; };
hostPackages = mkOption { hostPackages = mkOption {
@ -169,13 +169,16 @@ in
}; };
config = mkIf (cfg.instances != {}) { config = mkIf (cfg.instances != {}) {
assertions = [ { assertions = [
assertion = any tokenXorTokenFile (attrValues cfg.instances); {
message = "Instances of gitea-actions-runner-custom can have `token` or `tokenFile`, not both."; assertion = any tokenXorTokenFile (attrValues cfg.instances);
} { message = "Instances of gitea-actions-runner-custom can have `token` or `tokenFile`, not both.";
assertion = wantsContainerRuntime -> hasDocker || hasPodman; }
message = "Label configuration on gitea-actions-runner-custom instance requires either docker or podman."; {
} ]; assertion = wantsContainerRuntime -> hasDocker || hasPodman;
message = "Label configuration on gitea-actions-runner-custom instance requires either docker or podman.";
}
];
systemd.services = let systemd.services = let
mkRunnerService = name: instance: let mkRunnerService = name: instance: let
@ -188,75 +191,90 @@ in
nameValuePair "gitea-runner-${escapeSystemdPath name}" { nameValuePair "gitea-runner-${escapeSystemdPath name}" {
inherit (instance) enable; inherit (instance) enable;
description = "Gitea Actions Runner"; description = "Gitea Actions Runner";
wants = [ "network-online.target" ]; wants = ["network-online.target"];
after = [ after =
"network-online.target" [
] ++ optionals (wantsDocker) [ "network-online.target"
"docker.service" ]
] ++ optionals (wantsPodman) [ ++ optionals wantsDocker [
"podman.service" "docker.service"
]; ]
++ optionals wantsPodman [
"podman.service"
];
wantedBy = [ wantedBy = [
"multi-user.target" "multi-user.target"
]; ];
environment = optionalAttrs (instance.token != null) { environment =
TOKEN = "${instance.token}"; optionalAttrs (instance.token != null) {
} // optionalAttrs (wantsPodman) { TOKEN = "${instance.token}";
DOCKER_HOST = "unix:///run/podman/podman.sock"; }
} // { // optionalAttrs wantsPodman {
HOME = "/var/lib/gitea-runner/${name}"; DOCKER_HOST = "unix:///run/podman/podman.sock";
}; }
path = with pkgs; [ // {
coreutils HOME = "/var/lib/gitea-runner/${name}";
] ++ lib.optionals wantsHost instance.hostPackages; };
serviceConfig = { path = with pkgs;
DynamicUser = true; [
User = "gitea-runner"; coreutils
StateDirectory = "gitea-runner"; ]
WorkingDirectory = "-/var/lib/gitea-runner/${name}"; ++ lib.optionals wantsHost instance.hostPackages;
serviceConfig =
{
DynamicUser = true;
User = "gitea-runner";
StateDirectory = "gitea-runner";
WorkingDirectory = "-/var/lib/gitea-runner/${name}";
# gitea-runner might fail when gitea is restarted during upgrade. # gitea-runner might fail when gitea is restarted during upgrade.
Restart = "on-failure"; Restart = "on-failure";
RestartSec = 2; RestartSec = 2;
ExecStartPre = [(pkgs.writeShellScript "gitea-register-runner-${name}" '' ExecStartPre = [
export INSTANCE_DIR="$STATE_DIRECTORY/${name}" (pkgs.writeShellScript "gitea-register-runner-${name}" ''
export TOKEN=$(cat /run/secrets/forgejo_runner_token) export INSTANCE_DIR="$STATE_DIRECTORY/${name}"
mkdir -vp "$INSTANCE_DIR" export TOKEN=$(cat /run/secrets/forgejo_runner_token)
cd "$INSTANCE_DIR" mkdir -vp "$INSTANCE_DIR"
cd "$INSTANCE_DIR"
# force reregistration on changed labels # force reregistration on changed labels
export LABELS_FILE="$INSTANCE_DIR/.labels" export LABELS_FILE="$INSTANCE_DIR/.labels"
export LABELS_WANTED="$(echo ${escapeShellArg (concatStringsSep "\n" instance.labels)} | sort)" export LABELS_WANTED="$(echo ${escapeShellArg (concatStringsSep "\n" instance.labels)} | sort)"
export LABELS_CURRENT="$(cat $LABELS_FILE 2>/dev/null || echo 0)" export LABELS_CURRENT="$(cat $LABELS_FILE 2>/dev/null || echo 0)"
if [ ! -e "$INSTANCE_DIR/.runner" ] || [ "$LABELS_WANTED" != "$LABELS_CURRENT" ]; then if [ ! -e "$INSTANCE_DIR/.runner" ] || [ "$LABELS_WANTED" != "$LABELS_CURRENT" ]; then
# remove existing registration file, so that changing the labels forces a re-registration # remove existing registration file, so that changing the labels forces a re-registration
rm -v "$INSTANCE_DIR/.runner" || true rm -v "$INSTANCE_DIR/.runner" || true
# perform the registration # perform the registration
${cfg.package}/bin/act_runner register --no-interactive \ ${cfg.package}/bin/act_runner register --no-interactive \
--instance ${escapeShellArg instance.url} \ --instance ${escapeShellArg instance.url} \
--token "$TOKEN" \ --token "$TOKEN" \
--name ${escapeShellArg instance.name} \ --name ${escapeShellArg instance.name} \
--labels ${escapeShellArg (concatStringsSep "," instance.labels)} \ --labels ${escapeShellArg (concatStringsSep "," instance.labels)} \
--config ${configFile} --config ${configFile}
# and write back the configured labels # and write back the configured labels
echo "$LABELS_WANTED" > "$LABELS_FILE" echo "$LABELS_WANTED" > "$LABELS_FILE"
fi fi
'')]; '')
ExecStart = "${cfg.package}/bin/act_runner daemon --config ${configFile}"; ];
SupplementaryGroups = optionals (wantsDocker) [ ExecStart = "${cfg.package}/bin/act_runner daemon --config ${configFile}";
"docker" SupplementaryGroups =
] ++ optionals (wantsPodman) [ optionals wantsDocker [
"podman" "docker"
]; ]
} // optionalAttrs (instance.tokenFile != null) { ++ optionals wantsPodman [
EnvironmentFile = instance.tokenFile; "podman"
}; ];
}
// optionalAttrs (instance.tokenFile != null) {
EnvironmentFile = instance.tokenFile;
};
}; };
in mapAttrs' mkRunnerService cfg.instances; in
mapAttrs' mkRunnerService cfg.instances;
}; };
} }

View file

@ -22,17 +22,17 @@
privateKeyFile = "/home/xqtc/wireguard-keys/private"; privateKeyFile = "/home/xqtc/wireguard-keys/private";
peers = [ peers = [
{ # {
#anner # #anner
publicKey = "5ar4lh3Ra4TRmUJeeBtPgDvZnAkGssJDUN53y9oa3So="; # publicKey = "5ar4lh3Ra4TRmUJeeBtPgDvZnAkGssJDUN53y9oa3So=";
allowedIPs = [ # allowedIPs = [
"2a0f:be01:0:100::/64" # "2a0f:be01:0:100::/64"
"2a0f:be01:0:200::/64" # "2a0f:be01:0:200::/64"
"2a0f:be01:fe:f00::/56" # "2a0f:be01:fe:f00::/56"
]; # ];
endpoint = "[2a0f:be01::1]:51822"; # endpoint = "[2a0f:be01::1]:51822";
# persistentKeepalive = 15; # # persistentKeepalive = 15;
} # }
]; ];
}; };
}; };

View file

@ -127,7 +127,7 @@
users.users.xqtc = { users.users.xqtc = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "docker" "libvirtd" "adbusers"]; # Enable sudo for the user. extraGroups = ["wheel" "docker" "libvirtd" "adbusers"]; # Enable sudo for the user.
packages = with pkgs; [nushell clamtk]; packages = with pkgs; [nushell];
shell = pkgs.nushell; shell = pkgs.nushell;
}; };