work on reducing statefulness of the configuration
This commit is contained in:
380
flake.lock
generated
380
flake.lock
generated
@@ -1,5 +1,26 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"agenix": {
|
||||||
|
"inputs": {
|
||||||
|
"darwin": "darwin",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770165109,
|
||||||
|
"narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"aquamarine": {
|
"aquamarine": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprutils": [
|
"hyprutils": [
|
||||||
@@ -104,7 +125,7 @@
|
|||||||
"copyparty": {
|
"copyparty": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773005383,
|
"lastModified": 1773005383,
|
||||||
@@ -120,9 +141,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744478979,
|
||||||
|
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773025010,
|
"lastModified": 1773025010,
|
||||||
@@ -229,7 +272,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_4"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
@@ -303,6 +346,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1745494811,
|
||||||
|
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -324,7 +388,7 @@
|
|||||||
},
|
},
|
||||||
"hypr-contrib": {
|
"hypr-contrib": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771502235,
|
"lastModified": 1771502235,
|
||||||
@@ -409,9 +473,9 @@
|
|||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"hyprwire": "hyprwire",
|
"hyprwire": "hyprwire",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems",
|
"systems": "systems_2",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -534,8 +598,8 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprutils": "hyprutils_2",
|
"hyprutils": "hyprutils_2",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772469529,
|
"lastModified": 1772469529,
|
||||||
@@ -734,132 +798,21 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748162331,
|
"lastModified": 1754028485,
|
||||||
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
|
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
|
"rev": "59e69648d345d6e8fef86158c555730fa12af9de",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-25.05",
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772771118,
|
|
||||||
"narHash": "sha256-xWzaTvmmACR/SRWtABgI/Z97lcqwJAeoSd5QW1KdK1s=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e38213b91d3786389a446dfce4ff5a8aaf6012f2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_10": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1712163089,
|
|
||||||
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772198003,
|
|
||||||
"narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772433332,
|
|
||||||
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_6": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772956932,
|
|
||||||
"narHash": "sha256-M0yS4AafhKxPPmOHGqIV0iKxgNO8bHDWdl1kOwGBwRY=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "608d0cadfed240589a7eea422407a547ad626a14",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_7": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770380644,
|
|
||||||
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_8": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771848320,
|
|
||||||
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_9": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767767207,
|
"lastModified": 1767767207,
|
||||||
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
||||||
@@ -875,11 +828,138 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748162331,
|
||||||
|
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772771118,
|
||||||
|
"narHash": "sha256-xWzaTvmmACR/SRWtABgI/Z97lcqwJAeoSd5QW1KdK1s=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e38213b91d3786389a446dfce4ff5a8aaf6012f2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712163089,
|
||||||
|
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772198003,
|
||||||
|
"narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_6": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772433332,
|
||||||
|
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772956932,
|
||||||
|
"narHash": "sha256-M0yS4AafhKxPPmOHGqIV0iKxgNO8bHDWdl1kOwGBwRY=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "608d0cadfed240589a7eea422407a547ad626a14",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_8": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770380644,
|
||||||
|
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_9": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1771848320,
|
||||||
|
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_8",
|
||||||
"systems": "systems_3"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772402258,
|
"lastModified": 1772402258,
|
||||||
@@ -945,13 +1025,14 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"agenix": "agenix",
|
||||||
"copyparty": "copyparty",
|
"copyparty": "copyparty",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager_2",
|
||||||
"hypr-contrib": "hypr-contrib",
|
"hypr-contrib": "hypr-contrib",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpicker": "hyprpicker",
|
"hyprpicker": "hyprpicker",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"shed": "shed",
|
"shed": "shed",
|
||||||
"spicetify-nix": "spicetify-nix",
|
"spicetify-nix": "spicetify-nix",
|
||||||
@@ -961,7 +1042,7 @@
|
|||||||
"shed": {
|
"shed": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs_8"
|
"nixpkgs": "nixpkgs_9"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773107703,
|
"lastModified": 1773107703,
|
||||||
@@ -982,7 +1063,7 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_5"
|
"systems": "systems_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773007504,
|
"lastModified": 1773007504,
|
||||||
@@ -1007,9 +1088,9 @@
|
|||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": "nixpkgs_9",
|
"nixpkgs": "nixpkgs_10",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_6",
|
"systems": "systems_7",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@@ -1032,16 +1113,16 @@
|
|||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1062,16 +1143,16 @@
|
|||||||
},
|
},
|
||||||
"systems_3": {
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1120,6 +1201,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tinted-foot": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|||||||
10
flake.nix
10
flake.nix
@@ -10,6 +10,7 @@
|
|||||||
stylix.url = "github:danth/stylix";
|
stylix.url = "github:danth/stylix";
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
shed.url = "github:km-clay/shed";
|
shed.url = "github:km-clay/shed";
|
||||||
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
|
|
||||||
@@ -49,14 +50,6 @@
|
|||||||
hostDir = "laptop";
|
hostDir = "laptop";
|
||||||
kind = "both";
|
kind = "both";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
host = "xenon";
|
|
||||||
hostDir = "server";
|
|
||||||
kind = "both";
|
|
||||||
extraNixosModules = [
|
|
||||||
./modules/server
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
host = "phosphorous";
|
host = "phosphorous";
|
||||||
hostDir = "work";
|
hostDir = "work";
|
||||||
@@ -64,6 +57,7 @@
|
|||||||
extraNixosModules = [
|
extraNixosModules = [
|
||||||
inputs.shed.nixosModules.shed
|
inputs.shed.nixosModules.shed
|
||||||
inputs.copyparty.nixosModules.default
|
inputs.copyparty.nixosModules.default
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
];
|
];
|
||||||
extraHomeModules = [
|
extraHomeModules = [
|
||||||
inputs.shed.homeModules.shed
|
inputs.shed.homeModules.shed
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
{ pkgs, username, ... }:
|
|
||||||
{
|
|
||||||
imports = [ ./hardware.nix ];
|
|
||||||
movOpts = {
|
|
||||||
sysEnv = {
|
|
||||||
issue.enable = true;
|
|
||||||
sddmConfig.enable = true;
|
|
||||||
stylixConfig.enable = true;
|
|
||||||
nixSettings.enable = true;
|
|
||||||
};
|
|
||||||
hardwareCfg = {
|
|
||||||
networkModule.enable = true;
|
|
||||||
bootLoader.enable = true;
|
|
||||||
powerProfiles.enable = true;
|
|
||||||
};
|
|
||||||
softwareCfg = {
|
|
||||||
sysPkgs.enable = true;
|
|
||||||
sysProgs.enable = true;
|
|
||||||
sysServices.enable = true;
|
|
||||||
};
|
|
||||||
serverCfg = {
|
|
||||||
jellyfinConfig.enable = true;
|
|
||||||
caddyConfig.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPorts = [
|
|
||||||
443
|
|
||||||
8920
|
|
||||||
];
|
|
||||||
};
|
|
||||||
environment = {
|
|
||||||
etc."tmpfiles.d/home-permissions.conf".text = ''
|
|
||||||
d /home/pagedmov 0750 pagedmov users -
|
|
||||||
'';
|
|
||||||
variables = {
|
|
||||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
|
||||||
TERM = "kitty";
|
|
||||||
};
|
|
||||||
shells = with pkgs; [
|
|
||||||
zsh
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
users = {
|
|
||||||
groups.persist = { };
|
|
||||||
users = {
|
|
||||||
root.initialPassword = "1234";
|
|
||||||
${username} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
initialPassword = "1234";
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"persist"
|
|
||||||
"libvirtd"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
security.sudo.extraConfig = ''
|
|
||||||
${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild
|
|
||||||
'';
|
|
||||||
nix.settings.allowed-users = [ "${username}" ];
|
|
||||||
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
}
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/c40b3b09-688d-4fe3-96f9-8e3d75b0a7b7";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/nix" = {
|
|
||||||
device = "/dev/disk/by-uuid/1048d206-0a27-4e4e-b9a4-4f068bab5439";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/357E-BCCD";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0077"
|
|
||||||
"dmask=0077"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/b53ab583-f32e-4144-a2ee-f341e54f8233";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp10s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
host,
|
|
||||||
pkgs,
|
|
||||||
self,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
username,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
|
|
||||||
home.username = "${username}";
|
|
||||||
home.homeDirectory = "/home/${username}";
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
movOpts = {
|
|
||||||
homeFiles.enable = true;
|
|
||||||
|
|
||||||
# modules/home/environment
|
|
||||||
envConfig = {
|
|
||||||
starshipConfig.enable = true;
|
|
||||||
stylixHomeConfig.enable = true;
|
|
||||||
userPkgs.enable = true;
|
|
||||||
zshConfig = {
|
|
||||||
shellAliases.enable = true;
|
|
||||||
envVariables.enable = true;
|
|
||||||
shellOptions.enable = true;
|
|
||||||
extraConfig.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# modules/home/programs
|
|
||||||
programConfigs = {
|
|
||||||
autojumpConfig.enable = true;
|
|
||||||
kittyConfig.enable = true;
|
|
||||||
btopConfig.enable = true;
|
|
||||||
ezaConfig.enable = true;
|
|
||||||
fzfConfig.enable = true;
|
|
||||||
gitConfig.enable = true;
|
|
||||||
yaziConfig.enable = true;
|
|
||||||
batConfig.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -294,10 +294,6 @@ in
|
|||||||
"super, l, movefocus, r"
|
"super, l, movefocus, r"
|
||||||
"super, k, movefocus, u"
|
"super, k, movefocus, u"
|
||||||
"super, j, movefocus, d"
|
"super, j, movefocus, d"
|
||||||
"super, y, exec, /home/pagedmov/splitman-ipc.sh start"
|
|
||||||
"super, u, exec, /home/pagedmov/splitman-ipc.sh split"
|
|
||||||
"super, i, exec, /home/pagedmov/splitman-ipc.sh stop"
|
|
||||||
"super, o, exec, /home/pagedmov/splitman-ipc.sh pause"
|
|
||||||
"super shift, h, movewindow, l"
|
"super shift, h, movewindow, l"
|
||||||
"super shift, l, movewindow, r"
|
"super shift, l, movewindow, r"
|
||||||
"super shift, k, movewindow, u"
|
"super shift, k, movewindow, u"
|
||||||
|
|||||||
@@ -403,7 +403,7 @@ pkgs.writeText "theme-builder.py" ''
|
|||||||
print("Sent reload signal to Kitty.")
|
print("Sent reload signal to Kitty.")
|
||||||
|
|
||||||
nvim_colors = STATE_DIR / "nvim-colors.lua"
|
nvim_colors = STATE_DIR / "nvim-colors.lua"
|
||||||
for sock in Path("/run/user/1000").glob("nvim.*.0"):
|
for sock in Path(os.environ.get("XDG_RUNTIME_DIR", "/run/user/1000")).glob("nvim.*.0"):
|
||||||
try:
|
try:
|
||||||
nvim = attach('socket', path=str(sock))
|
nvim = attach('socket', path=str(sock))
|
||||||
nvim.command(f"luafile {nvim_colors}")
|
nvim.command(f"luafile {nvim_colors}")
|
||||||
|
|||||||
@@ -614,7 +614,7 @@
|
|||||||
all: unset;
|
all: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import url("file:///home/pagedmov/.local/state/sysflake/swaync-colors.css");
|
@import url("file://${config.home.homeDirectory}/.local/state/sysflake/swaync-colors.css");
|
||||||
'';
|
'';
|
||||||
xdg.configFile."swaync/config.json".text = ''
|
xdg.configFile."swaync/config.json".text = ''
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,20 +5,6 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
timers = {
|
|
||||||
maintenanceCheck = {
|
|
||||||
Unit = {
|
|
||||||
Description = "Timer for package maintenance check";
|
|
||||||
};
|
|
||||||
Timer = {
|
|
||||||
OnCalendar = "hourly";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
Install = {
|
|
||||||
WantedBy = [ "timers.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services = {
|
services = {
|
||||||
swww-daemon = {
|
swww-daemon = {
|
||||||
Unit.Description = "Daemon for swww (sway wayland wallpaper manager)";
|
Unit.Description = "Daemon for swww (sway wayland wallpaper manager)";
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
"image#nixicon" = {
|
"image#nixicon" = {
|
||||||
path = "/home/pagedmov/.sysflake/assets/images/nix-snowflake-colours.svg";
|
path = "${self}/assets/images/nix-snowflake-colours.svg";
|
||||||
size = 28;
|
size = 28;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -271,7 +271,7 @@ in
|
|||||||
margin: 6px 10px 6px 4px;
|
margin: 6px 10px 6px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import url("file:///home/pagedmov/.local/state/sysflake/waybar-colors.css");
|
@import url("file://${config.home.homeDirectory}/.local/state/sysflake/waybar-colors.css");
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
};
|
};
|
||||||
safe = {
|
safe = {
|
||||||
directory = [
|
directory = [
|
||||||
"/home/pagedmov/mnt/net"
|
"${config.home.homeDirectory}/mnt/net"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
core.pager = "delta";
|
core.pager = "delta";
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./jellyfin.nix ];
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
movOpts.serverCfg.jellyfinConfig.enable = lib.mkEnableOption "Enables the server's jellyfin config";
|
|
||||||
};
|
|
||||||
config = lib.mkIf config.movOpts.serverCfg.jellyfinConfig.enable {
|
|
||||||
services.jellyfin = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./cdn
|
|
||||||
./glasshaus
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
movOpts.serverCfg.caddyConfig.enable = lib.mkEnableOption "Enable my caddy config for the glasshaus.info domain name";
|
|
||||||
};
|
|
||||||
config = lib.mkIf config.movOpts.serverCfg.caddyConfig.enable {
|
|
||||||
services.caddy = {
|
|
||||||
enable = true;
|
|
||||||
configFile = pkgs.writeText "Caddyfile" ''
|
|
||||||
glasshaus.info {
|
|
||||||
reverse_proxy localhost:8096
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ./caddy.nix ];
|
|
||||||
}
|
|
||||||
@@ -51,6 +51,8 @@
|
|||||||
pavucontrol
|
pavucontrol
|
||||||
playerctl
|
playerctl
|
||||||
usbutils
|
usbutils
|
||||||
|
age
|
||||||
|
agenix-cli
|
||||||
vim
|
vim
|
||||||
uhk-agent
|
uhk-agent
|
||||||
jq
|
jq
|
||||||
|
|||||||
@@ -9,21 +9,6 @@
|
|||||||
movOpts.softwareCfg.sysProgs.enable = lib.mkEnableOption "enables default system programs";
|
movOpts.softwareCfg.sysProgs.enable = lib.mkEnableOption "enables default system programs";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable {
|
||||||
environment.etc."shells" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
/run/current-system/sw/bin/zsh
|
|
||||||
/run/current-system/sw/bin/bash
|
|
||||||
/run/current-system/sw/bin/zsh
|
|
||||||
/nix/store/m7l6yzmflrf9hjs8707lk9nkhi6f73n1-zsh-5.9/bin/zsh
|
|
||||||
/run/current-system/sw/bin/bash
|
|
||||||
/run/current-system/sw/bin/sh
|
|
||||||
/nix/store/f33kh08pa7pmy4kvsmsibda46sh46s66-bash-interactive-5.2p37/bin/bash
|
|
||||||
/nix/store/f33kh08pa7pmy4kvsmsibda46sh46s66-bash-interactive-5.2p37/bin/sh
|
|
||||||
/bin/sh
|
|
||||||
/home/pagedmov/Coding/projects/rust/rsh/target/debug/rsh
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
programs = {
|
programs = {
|
||||||
hyprland.enable = lib.mkDefault true;
|
hyprland.enable = lib.mkDefault true;
|
||||||
zsh.enable = lib.mkDefault true;
|
zsh.enable = lib.mkDefault true;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
self,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
@@ -9,6 +10,21 @@
|
|||||||
movOpts.softwareCfg.sysServices.enable = lib.mkEnableOption "enables default system services";
|
movOpts.softwareCfg.sysServices.enable = lib.mkEnableOption "enables default system services";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable {
|
||||||
|
age.identityPaths = [ "/home/pagedmov/.ssh/id_ed25519" ];
|
||||||
|
age.secrets = {
|
||||||
|
copyparty-admin = {
|
||||||
|
file = "${self}/secrets/copyparty-admin.age";
|
||||||
|
owner = "copyparty";
|
||||||
|
};
|
||||||
|
copyparty-pagedmov = {
|
||||||
|
file = "${self}/secrets/copyparty-pagedmov.age";
|
||||||
|
owner = "copyparty";
|
||||||
|
};
|
||||||
|
copyparty-testuser = {
|
||||||
|
file = "${self}/secrets/copyparty-testuser.age";
|
||||||
|
owner = "copyparty";
|
||||||
|
};
|
||||||
|
};
|
||||||
users.users.pagedmov = {
|
users.users.pagedmov = {
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBX/xEA6/zfAkjwaDcl+NnCJLMd7OzRru7IKbn+52fi5 root@nixos"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBX/xEA6/zfAkjwaDcl+NnCJLMd7OzRru7IKbn+52fi5 root@nixos"
|
||||||
@@ -35,13 +51,13 @@
|
|||||||
};
|
};
|
||||||
accounts = {
|
accounts = {
|
||||||
admin = {
|
admin = {
|
||||||
passwordFile = "${pkgs.writeText "/run/keys/admin" "admin123"}";
|
passwordFile = config.age.secrets.copyparty-admin.path;
|
||||||
};
|
};
|
||||||
pagedmov = {
|
pagedmov = {
|
||||||
passwordFile = "${pkgs.writeText "/run/keys/pagedmov" "200231980qwertyuiop"}";
|
passwordFile = config.age.secrets.copyparty-pagedmov.path;
|
||||||
};
|
};
|
||||||
testuser = {
|
testuser = {
|
||||||
passwordFile = "${pkgs.writeText "/run/keys/testuser" "testpassword"}";
|
passwordFile = config.age.secrets.copyparty-testuser.path;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
volumes = {
|
volumes = {
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
{ pkgs }:
|
|
||||||
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
pname = "pkg_maintenance_check";
|
|
||||||
version = "1.0";
|
|
||||||
src = ./.;
|
|
||||||
buildPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cat > $out/bin/checkupdates.py <<- EOF
|
|
||||||
import json
|
|
||||||
import subprocess
|
|
||||||
import requests
|
|
||||||
def get_packages_by_maintainer(target_maintainer):
|
|
||||||
try:
|
|
||||||
nix_env_command = [
|
|
||||||
"nix-env", "--meta", "--json", "-qaP"
|
|
||||||
]
|
|
||||||
jq_query = (
|
|
||||||
'to_entries[] | select(.value.meta.maintainers? // [] | '
|
|
||||||
f'any(.github == "{target_maintainer}")) | .value'
|
|
||||||
)
|
|
||||||
result = subprocess.run(
|
|
||||||
nix_env_command,
|
|
||||||
capture_output=True,
|
|
||||||
text=True,
|
|
||||||
check=True
|
|
||||||
)
|
|
||||||
filtered_packages = subprocess.run(
|
|
||||||
["jq", "-r", "-c", jq_query],
|
|
||||||
input=result.stdout,
|
|
||||||
capture_output=True,
|
|
||||||
text=True,
|
|
||||||
check=True
|
|
||||||
)
|
|
||||||
return [json.loads(pkg) for pkg in filtered_packages.stdout.strip().split('\n') if pkg]
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
print(f"Error running nix-env or jq: {e}")
|
|
||||||
return []
|
|
||||||
|
|
||||||
def check_github_releases(maintained_packages):
|
|
||||||
github_api_template = "https://api.github.com/repos/{owner}/{repo}/releases/latest"
|
|
||||||
updates = []
|
|
||||||
|
|
||||||
for package in maintained_packages:
|
|
||||||
pname = package.get("pname", "unknown")
|
|
||||||
repo_url = package.get("meta", {}).get("homepage", "")
|
|
||||||
current_version = package.get("version", "unknown")
|
|
||||||
|
|
||||||
if "github.com" in repo_url:
|
|
||||||
owner_repo = repo_url.split("github.com/")[1].rstrip('/')
|
|
||||||
owner, repo = owner_repo.split('/')
|
|
||||||
api_url = github_api_template.format(owner=owner, repo=repo)
|
|
||||||
|
|
||||||
response = requests.get(api_url)
|
|
||||||
if response.status_code == 200:
|
|
||||||
latest_release = response.json()
|
|
||||||
latest_version = latest_release.get("tag_name", "").lstrip('v')
|
|
||||||
if latest_version and latest_version != current_version:
|
|
||||||
updates.append({"pkg": pname, "version": latest_version})
|
|
||||||
else:
|
|
||||||
print(f"{pname} is up to date.\n")
|
|
||||||
else:
|
|
||||||
print(f"Failed to check version for {pname} (HTTP {response.status_code}).\n")
|
|
||||||
else:
|
|
||||||
print(f"Skipping non-GitHub repository for {pname}.\n")
|
|
||||||
return updates
|
|
||||||
|
|
||||||
def notify_updates(updates):
|
|
||||||
if updates:
|
|
||||||
update_string = '\n'.join([f" {update['pkg']} -> {update['version']}" for update in updates])
|
|
||||||
subprocess.run([
|
|
||||||
"notify-send",
|
|
||||||
"--icon=/home/pagedmov/.sysflake/assets/images/nixos-icon-generic.png",
|
|
||||||
"Maintenance Update",
|
|
||||||
f"Package updates found:\n{update_string}"
|
|
||||||
])
|
|
||||||
subprocess.run(["aplay", "-q", "-N", "/home/pagedmov/.sysflake/assets/sound/login.wav"])
|
|
||||||
|
|
||||||
target_maintainer = "pagedMov"
|
|
||||||
maintained_packages = get_packages_by_maintainer(target_maintainer)
|
|
||||||
|
|
||||||
if maintained_packages:
|
|
||||||
updates = check_github_releases(maintained_packages)
|
|
||||||
notify_updates(updates)
|
|
||||||
else:
|
|
||||||
print(f"No packages maintained by {target_maintainer} were found.")
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
python3Packages.requests
|
|
||||||
jq
|
|
||||||
];
|
|
||||||
installPhase = ":";
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,6 @@
|
|||||||
fetchfromgh = super.callPackage ./templates/fetchfromgh.nix { };
|
fetchfromgh = super.callPackage ./templates/fetchfromgh.nix { };
|
||||||
mkshell = super.callPackage ./templates/mkshell.nix { };
|
mkshell = super.callPackage ./templates/mkshell.nix { };
|
||||||
garbage-collect = super.callPackage ./garbage-collect.nix { };
|
garbage-collect = super.callPackage ./garbage-collect.nix { };
|
||||||
check_updates = super.callPackage ./check_updates.nix { };
|
|
||||||
rebuild = super.callPackage ./rebuild.nix {
|
rebuild = super.callPackage ./rebuild.nix {
|
||||||
inherit host;
|
inherit host;
|
||||||
self = root;
|
self = root;
|
||||||
|
|||||||
5
secrets/copyparty-admin.age
Normal file
5
secrets/copyparty-admin.age
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 UdB2QQ 0wPXeQ7y+1CTZ9ROAlEmyOvUVeoLPe2qpVqu+9yOARM
|
||||||
|
DsBm/L7XpwmZ3fCV2u3omkhhJQjXCPApN6qv0zb/0e4
|
||||||
|
--- PtsnfRS5NGQ+dOkShmJuz4GCLvPP7cud5YUwAov3j/Y
|
||||||
|
Ú°ë.°áó/Ò‚@>ðT‚mC_–<5F>5›3ßÒ;Êͤ£ C^á
|
||||||
5
secrets/copyparty-pagedmov.age
Normal file
5
secrets/copyparty-pagedmov.age
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 UdB2QQ N5xflk7WYS55ypDAMewPRMoIEWQu/gPdbY6FlUJ6ERA
|
||||||
|
lwaUmt3ZSicZy1wtMxAY6XsXp9wJRbkF2zOD5fPFGq0
|
||||||
|
--- 59Ea58Hu6Aa00ttHfytrXZ+uh0Na9IVQpsog6cZiuCs
|
||||||
|
phú¦O©%w\†ŮÁł×(ž(Ł«±Ők˙ż8&qJ‘j‰ŰAD¬s”ކßĘxxŁJ¨ď
|
||||||
5
secrets/copyparty-testuser.age
Normal file
5
secrets/copyparty-testuser.age
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 UdB2QQ 60YOnpbCVEZDinRksQDnoJZNQzrrsM259Il+A9TJjBc
|
||||||
|
pNLOy0r3jfEfFQRSwuv0gHFfh00rmPHWRSzz5g5lnVE
|
||||||
|
--- LslDG7BgBKxPtzqQXepkhnU5O0MmWDlpn9svZ2VMdN8
|
||||||
|
TðÚ[_ýøÜvŸ”Xó÷ªŸÚEKK>¶<UÝˬ*ý<®ñ‚÷ææ‰&
|
||||||
21
secrets/secrets.nix
Normal file
21
secrets/secrets.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
let
|
||||||
|
# User key (for editing secrets)
|
||||||
|
pagedmov = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0Eew2n6M2HtsTHHFBfMrsGsz9mt6gqN3XTM4RG5h6N pagedmov@oganesson";
|
||||||
|
|
||||||
|
# Host keys (for decryption at activation time)
|
||||||
|
phosphorous = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBhyhqppXv0SPQ6n3xkTqPXH866e2cCpDkw7f1Rxzjbu root@phosphorous";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"copyparty-admin.age".publicKeys = [
|
||||||
|
pagedmov
|
||||||
|
phosphorous
|
||||||
|
];
|
||||||
|
"copyparty-pagedmov.age".publicKeys = [
|
||||||
|
pagedmov
|
||||||
|
phosphorous
|
||||||
|
];
|
||||||
|
"copyparty-testuser.age".publicKeys = [
|
||||||
|
pagedmov
|
||||||
|
phosphorous
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user