mirror of
https://git.gay/xqtc/nixos-config
synced 2024-11-21 21:30:32 +01:00
nix flake update; nixvim; firefox stuff
This commit is contained in:
parent
fe076d1056
commit
d2556811cf
|
@ -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="
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
266
flake.lock
266
flake.lock
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 = [
|
||||||
|
|
|
@ -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 = [
|
||||||
# " ███████████████ ██████████████████"
|
# " ███████████████ ██████████████████"
|
||||||
# " ███████████████ ██ "
|
# " ███████████████ ██ "
|
||||||
|
|
|
@ -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;
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ with lib; {
|
||||||
./docker.nix
|
./docker.nix
|
||||||
# ./borg.nix
|
# ./borg.nix
|
||||||
# ./nfs.nix
|
# ./nfs.nix
|
||||||
../../gc.nix
|
# ../../gc.nix
|
||||||
../../../common
|
../../../common
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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}"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
# }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue