Compare commits

..

2 commits

Author SHA1 Message Date
4464525b03
flake: bump 2024-09-06 19:51:22 +08:00
19fdca07b1
flake: refactor, use colmenaHive 2024-09-01 12:19:53 +08:00
7 changed files with 185 additions and 155 deletions

View file

@ -1,17 +1,41 @@
{
"nodes": {
"crane": {
"colmena": {
"inputs": {
"flake-compat": [
"flake-compat"
],
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
],
"stable": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1724537630,
"narHash": "sha256-gpqINM71zp3kw5XYwUXa84ZtPnCmLLnByuFoYesT1bY=",
"lastModified": 1711386353,
"narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=",
"owner": "zhaofengli",
"repo": "colmena",
"rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "colmena",
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1725409566,
"narHash": "sha256-PrtLmqhM6UtJP7v7IGyzjBFhbG4eOAHT6LPYOFmYfbk=",
"owner": "ipetkov",
"repo": "crane",
"rev": "3e08f4b1fc9aaede5dd511d8f5f4ef27501e49b0",
"rev": "7e4586bad4e3f8f97a9271def747cf58c4b68f3c",
"type": "github"
},
"original": {
@ -27,11 +51,11 @@
]
},
"locked": {
"lastModified": 1724895876,
"narHash": "sha256-GSqAwa00+vRuHbq9O/yRv7Ov7W/pcMLis3HmeHv8a+Q=",
"lastModified": 1725377834,
"narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=",
"owner": "nix-community",
"repo": "disko",
"rev": "511388d837178979de66d14ca4a2ebd5f7991cd3",
"rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe",
"type": "github"
},
"original": {
@ -62,11 +86,11 @@
]
},
"locked": {
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"lastModified": 1725234343,
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
"type": "github"
},
"original": {
@ -122,11 +146,11 @@
]
},
"locked": {
"lastModified": 1724435763,
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
"lastModified": 1725180166,
"narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
"rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb",
"type": "github"
},
"original": {
@ -172,11 +196,11 @@
]
},
"locked": {
"lastModified": 1722329086,
"narHash": "sha256-e/fSi0WER06N8WCvpht62fkGtWfe5ckDxr6zNYkwkFw=",
"lastModified": 1725379389,
"narHash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "f5a3a7dff44d131807fc1a89fbd8576cd870334a",
"rev": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871",
"type": "github"
},
"original": {
@ -201,11 +225,11 @@
]
},
"locked": {
"lastModified": 1724599287,
"narHash": "sha256-M4OllWFNDcvgY2rgx/9uWn9jpunSb2CzmqPDcuS27SQ=",
"lastModified": 1725050929,
"narHash": "sha256-1z8i5qQwb28YM4cg1ji6b8f/5XDO30FIr/vObDRZbes=",
"ref": "refs/heads/master",
"rev": "a2f4145923cbbabb63e7749a49c86052a17389f7",
"revCount": 72,
"rev": "d3b42cf643d03d675d19ec6259bb33538eaa706e",
"revCount": 73,
"type": "git",
"url": "https://git.ny4.dev/nyancat/nvim"
},
@ -216,11 +240,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1724878143,
"narHash": "sha256-UjpKo92iZ25M05kgSOw/Ti6VZwpgdlOa73zHj8OcaDk=",
"lastModified": 1725477728,
"narHash": "sha256-ahej1VRqKmWbG7gewty+GlrSBEeGY/J2Zy8Nt8+3fdg=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef",
"rev": "880be1ab837e1e9fe0449dae41ac4d034694d4ce",
"type": "github"
},
"original": {
@ -231,17 +255,17 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1725013374,
"narHash": "sha256-fbz8MUVDWHchQSA4uguP9YYDXnX4bEdlP7YvsMcXZu4=",
"lastModified": 1725534445,
"narHash": "sha256-Yd0FK9SkWy+ZPuNqUgmVPXokxDgMJoGuNpMEtkfcf84=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c169763c3087b02a8308e2f8a9bba77c428dcca1",
"rev": "9bb1e7571aadf31ddb4af77fc64b2d59580f9a39",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"rev": "c169763c3087b02a8308e2f8a9bba77c428dcca1",
"type": "github"
}
},
@ -261,11 +285,11 @@
]
},
"locked": {
"lastModified": 1724857454,
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
"lastModified": 1725513492,
"narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
"rev": "7570de7b9b504cfe92025dd1be797bf546f66528",
"type": "github"
},
"original": {
@ -276,6 +300,7 @@
},
"root": {
"inputs": {
"colmena": "colmena",
"crane": "crane",
"disko": "disko",
"flake-compat": "flake-compat",
@ -302,11 +327,11 @@
]
},
"locked": {
"lastModified": 1724898214,
"narHash": "sha256-4yMO9+Lsr3zqTf4clAGGag/bfNTmc/ITOXbJQcOEok4=",
"lastModified": 1725589472,
"narHash": "sha256-+OB00N6Yql/ZRQQkQ0PNnxfW2tH89DHnv29hBS7tXMM=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "0bc2c784e3a6ce30a2ab1b9f47325ccbed13039f",
"rev": "2b00881d2ff72174cffdc007238cb6bedd6e1d8e",
"type": "github"
},
"original": {
@ -325,11 +350,11 @@
]
},
"locked": {
"lastModified": 1723501126,
"narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
"lastModified": 1725540166,
"narHash": "sha256-htc9rsTMSAY5ek+DB3tpntdD/es0eam2hJgO92bWSys=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
"rev": "d9d781523a1463965cd1e1333a306e70d9feff07",
"type": "github"
},
"original": {
@ -360,11 +385,11 @@
]
},
"locked": {
"lastModified": 1724833132,
"narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=",
"lastModified": 1725271838,
"narHash": "sha256-VcqxWT0O/gMaeWTTjf1r4MOyG49NaNxW4GHTO3xuThE=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3ffd842a5f50f435d3e603312eefa4790db46af5",
"rev": "9fb342d14b69aefdf46187f6bb80a4a0d97007cd",
"type": "github"
},
"original": {

View file

@ -7,9 +7,15 @@
# `nixpkgs-unstable` contains less(?) jobs, and usually updates faster.
#
# REFERENCE: https://discourse.nixos.org/t/differences-between-nix-channels/13998/5
nixpkgs.url = "github:NixOS/nixpkgs/c169763c3087b02a8308e2f8a9bba77c428dcca1"; # userborn
# nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
colmena = {
url = "github:zhaofengli/colmena";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-compat.follows = "flake-compat";
inputs.flake-utils.follows = "flake-utils";
inputs.stable.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
@ -49,7 +55,9 @@
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs";
};
systems.url = "github:nix-systems/default";
systems = {
url = "github:nix-systems/default";
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
@ -58,7 +66,6 @@
### De-dupe flake dependencies
crane = {
url = "github:ipetkov/crane";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-compat = {
url = "github:edolstra/flake-compat";
@ -93,16 +100,16 @@
treefmtEval = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix;
in
{
### nix fmt
# nix fmt
formatter = treefmtEval.config.build.wrapper;
### nix flake check
# nix flake check
checks.formatting = treefmtEval.config.build.check inputs.self;
### nix {run,shell,build}
# nix {run,shell,build}
legacyPackages = import ./pkgs pkgs;
### nix develop
# nix develop
devShells.default = pkgs.mkShellNoCC {
packages = with pkgs; [
colmena
@ -112,26 +119,23 @@
}
)
// {
### imports = [];
nixosModules.default = ./nixos/modules;
homeManagerModules.default = ./home/modules;
overlays.default = import ./overlays;
### nixpkgs.overlays = [];
overlays = import ./overlays;
### NixOS
nixosConfigurations."dust" = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./nixos/profiles/core
./hosts/dust
];
specialArgs = {
inherit inputs;
nixosConfigurations = {
"dust" = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./nixos/profiles/core
./hosts/dust
];
specialArgs = {
inherit inputs;
};
};
};
} // inputs.self.colmenaHive.nodes;
colmena = {
colmenaHive = inputs.colmena.lib.makeHive {
meta = {
specialArgs = {
inherit inputs;

View file

@ -10,6 +10,7 @@
"cargo-bootstrap"
"cef-binary"
"dart"
"go"
"rustc-bootstrap"
"rustc-bootstrap-wrapper"
"sof-firmware"

View file

@ -7,6 +7,7 @@
lib.elem (lib.getName pkg) [
"adoptopenjdk-hotspot-bin"
"cargo-bootstrap"
"go"
"minecraft-server"
"rustc-bootstrap"
"rustc-bootstrap-wrapper"

View file

@ -7,9 +7,10 @@
lib.elem (lib.getName pkg) [
"adoptopenjdk-hotspot-bin"
"cargo-bootstrap"
"go"
"keycloak"
"rustc-bootstrap"
"rustc-bootstrap-wrapper"
"keycloak"
"temurin-bin"
];

View file

@ -21,7 +21,7 @@
]);
nixpkgs.overlays = [
inputs.self.overlays.patches
inputs.self.overlays.default
];
boot.kernelPackages = pkgs.linuxPackages_latest;

View file

@ -5,97 +5,95 @@ let
patches = (old.patches or [ ]) ++ patches;
});
in
{
patches = _final: prev: {
# https://aur.archlinux.org/pkgbase/nautilus-typeahead
nautilus = prev.nautilus.overrideAttrs {
src = prev.fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "albertvaka";
repo = "nautilus";
rev = "f5f593bf36c41756a29d5112a10cf7ec70b8eafb";
hash = "sha256-PfkCY2gQ8jfPIgTRC9Xzxh4N3f2oB339Hym5RCbKwkw=";
};
# Enable type-ahead behavior by default
postPatch = ''
awk -i inplace '/type-ahead-search/{c++;} c==1 && /true/{sub("true", "false"); c++;} 1' data/org.gnome.nautilus.gschema.xml
'';
_final: prev: {
# https://aur.archlinux.org/pkgbase/nautilus-typeahead
nautilus = prev.nautilus.overrideAttrs {
src = prev.fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "albertvaka";
repo = "nautilus";
rev = "f5f593bf36c41756a29d5112a10cf7ec70b8eafb";
hash = "sha256-PfkCY2gQ8jfPIgTRC9Xzxh4N3f2oB339Hym5RCbKwkw=";
};
qt6Packages = prev.qt6Packages.overrideScope (
_final': prev': {
# HACK: no more qt5
fcitx5-with-addons = prev'.fcitx5-with-addons.override {
libsForQt5.fcitx5-qt = prev.emptyDirectory;
};
# HACK: no more qtwebengine, opencc
fcitx5-chinese-addons =
(prev'.fcitx5-chinese-addons.override {
curl = prev.emptyDirectory;
opencc = prev.emptyDirectory;
qtwebengine = prev.emptyDirectory;
}).overrideAttrs
(oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [
prev.gettext
prev'.qtbase
];
cmakeFlags = oldAttrs.cmakeFlags ++ [
(prev.lib.cmakeBool "ENABLE_BROWSER" false)
(prev.lib.cmakeBool "ENABLE_CLOUDPINYIN" false)
(prev.lib.cmakeBool "ENABLE_OPENCC" false)
];
});
}
);
# HACK: no more gtk2
gnome-themes-extra =
(prev.gnome-themes-extra.override {
gtk2 = prev.emptyDirectory;
}).overrideAttrs
{
configureFlags = [ "--disable-gtk2-engine" ];
};
sway-unwrapped = addPatches prev.sway-unwrapped [
# text_input: Implement input-method popups
# https://github.com/swaywm/sway/pull/7226
(prev.fetchpatch2 {
name = "0001-text_input-Implement-input-method-popups.patch";
url = "https://github.com/swaywm/sway/commit/de74d1f6360810c0a5fd11d8022fbffe56fc97c5.patch";
hash = "sha256-iTZIYHBp8vxjVdmH/k+jlN0/Zj6Ofe/qefv7ubtowHs=";
})
(prev.fetchpatch2 {
name = "0002-chore-fractal-scale-handle.patch";
url = "https://github.com/swaywm/sway/commit/2aa72e8dfd3b3d051fdec6b2d05c5635adcfb57b.patch";
hash = "sha256-aJYXoZ7xEEy8J8DjxANOe14HdHRni6IXSNcAzLzNvIo=";
})
(prev.fetchpatch2 {
name = "0003-chore-left_pt-on-method-popup.patch";
url = "https://github.com/swaywm/sway/commit/0789c12a8edf46fbc1c7024e153f3e8f8f35fe12.patch";
hash = "sha256-zvhp5eXqDngMNtctzVpryZY3zKi3IVjV7oFIBMC2jMk=";
})
# Tray D-Bus Menu
# https://github.com/swaywm/sway/pull/6249
(prev.fetchpatch2 {
name = "0001-Tray-Implement-dbusmenu.patch";
url = "https://github.com/NickHu/sway/commit/0fc5d7aed84415a77b718ca9dc3c0b3ad2c05b02.patch";
hash = "sha256-eosg6m2P6e8NRXjOAQL3SZg+Yc4Av9Wd+LOy0G3+xkA=";
})
(prev.fetchpatch2 {
name = "0002-Tray-dont-invoke-dbus-menu-when-tray-is-disabled.patch";
url = "https://github.com/NickHu/sway/commit/03c14421354e54332e12f78d029dcaa9919fd161.patch";
hash = "sha256-8RGtpfN/tnkA7nuGdXGHoKUoKVeG7brSQR6V4RU3z88=";
})
(prev.fetchpatch2 {
name = "0003-swaybar-dbusmenu-fix-crash-if-the-program-exits-while-menu.patch";
url = "https://github.com/llyyr/sway/commit/84481c26a4c55674da5804bb2619d3575ba405b3.patch";
hash = "sha256-+JJoHNOmDzqT1TaFM83DR3/BdCab240tfs21VNMv6wE=";
})
];
# Enable type-ahead behavior by default
postPatch = ''
awk -i inplace '/type-ahead-search/{c++;} c==1 && /true/{sub("true", "false"); c++;} 1' data/org.gnome.nautilus.gschema.xml
'';
};
qt6Packages = prev.qt6Packages.overrideScope (
_final': prev': {
# HACK: no more qt5
fcitx5-with-addons = prev'.fcitx5-with-addons.override {
libsForQt5.fcitx5-qt = prev.emptyDirectory;
};
# HACK: no more qtwebengine, opencc
fcitx5-chinese-addons =
(prev'.fcitx5-chinese-addons.override {
curl = prev.emptyDirectory;
opencc = prev.emptyDirectory;
qtwebengine = prev.emptyDirectory;
}).overrideAttrs
(oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [
prev.gettext
prev'.qtbase
];
cmakeFlags = oldAttrs.cmakeFlags ++ [
(prev.lib.cmakeBool "ENABLE_BROWSER" false)
(prev.lib.cmakeBool "ENABLE_CLOUDPINYIN" false)
(prev.lib.cmakeBool "ENABLE_OPENCC" false)
];
});
}
);
# HACK: no more gtk2
gnome-themes-extra =
(prev.gnome-themes-extra.override {
gtk2 = prev.emptyDirectory;
}).overrideAttrs
{
configureFlags = [ "--disable-gtk2-engine" ];
};
sway-unwrapped = addPatches prev.sway-unwrapped [
# text_input: Implement input-method popups
# https://github.com/swaywm/sway/pull/7226
(prev.fetchpatch2 {
name = "0001-text_input-Implement-input-method-popups.patch";
url = "https://github.com/swaywm/sway/commit/de74d1f6360810c0a5fd11d8022fbffe56fc97c5.patch";
hash = "sha256-iTZIYHBp8vxjVdmH/k+jlN0/Zj6Ofe/qefv7ubtowHs=";
})
(prev.fetchpatch2 {
name = "0002-chore-fractal-scale-handle.patch";
url = "https://github.com/swaywm/sway/commit/2aa72e8dfd3b3d051fdec6b2d05c5635adcfb57b.patch";
hash = "sha256-aJYXoZ7xEEy8J8DjxANOe14HdHRni6IXSNcAzLzNvIo=";
})
(prev.fetchpatch2 {
name = "0003-chore-left_pt-on-method-popup.patch";
url = "https://github.com/swaywm/sway/commit/0789c12a8edf46fbc1c7024e153f3e8f8f35fe12.patch";
hash = "sha256-zvhp5eXqDngMNtctzVpryZY3zKi3IVjV7oFIBMC2jMk=";
})
# Tray D-Bus Menu
# https://github.com/swaywm/sway/pull/6249
(prev.fetchpatch2 {
name = "0001-Tray-Implement-dbusmenu.patch";
url = "https://github.com/NickHu/sway/commit/0fc5d7aed84415a77b718ca9dc3c0b3ad2c05b02.patch";
hash = "sha256-eosg6m2P6e8NRXjOAQL3SZg+Yc4Av9Wd+LOy0G3+xkA=";
})
(prev.fetchpatch2 {
name = "0002-Tray-dont-invoke-dbus-menu-when-tray-is-disabled.patch";
url = "https://github.com/NickHu/sway/commit/03c14421354e54332e12f78d029dcaa9919fd161.patch";
hash = "sha256-8RGtpfN/tnkA7nuGdXGHoKUoKVeG7brSQR6V4RU3z88=";
})
(prev.fetchpatch2 {
name = "0003-swaybar-dbusmenu-fix-crash-if-the-program-exits-while-menu.patch";
url = "https://github.com/llyyr/sway/commit/84481c26a4c55674da5804bb2619d3575ba405b3.patch";
hash = "sha256-+JJoHNOmDzqT1TaFM83DR3/BdCab240tfs21VNMv6wE=";
})
];
}