WIP heavy wip going on
This commit is contained in:
parent
79f2dc99e2
commit
920a836eef
8 changed files with 154 additions and 91 deletions
7
README.md
Normal file
7
README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
## Targets
|
||||||
|
|
||||||
|
| Name | Arch | Description |
|
||||||
|
| ------- | ------- | ----------- |
|
||||||
|
| Marr | x86_64 | |
|
||||||
|
| Brontes | x86_64 | |
|
||||||
|
| Styrax | Aarch64 | |
|
39
flake.lock
generated
39
flake.lock
generated
|
@ -1,5 +1,25 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1719994518,
|
||||||
|
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -7,11 +27,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719180626,
|
"lastModified": 1720470846,
|
||||||
"narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=",
|
"narHash": "sha256-7ftA4Bv5KfH4QdTRxqe8/Hz2YTKo+7IQ9n7vbNWgv28=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb",
|
"rev": "2fb5c1e0a17bc6059fa09dc411a43d75f35bb192",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -22,11 +42,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719322773,
|
"lastModified": 1720515935,
|
||||||
"narHash": "sha256-BqPxtFwXrpJQDh65NOIHX99pz2rtIMshG9Mt2xnnc5c=",
|
"narHash": "sha256-8b+fzR4W2hI5axwB+4nBwoA15awPKkck4ghhCt8v39M=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "caabc425565bbd5c8640630b0bf6974961a49242",
|
"rev": "a111ce6b537df12a39874aa9672caa87f8677eda",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -38,11 +58,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719075281,
|
"lastModified": 1720418205,
|
||||||
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
|
"narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
|
"rev": "655a58a72a6601292512670343087c2d75d859c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -54,6 +74,7 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
|
|
122
flake.nix
122
flake.nix
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
description = "Nydragon's configuration'";
|
description = "Nydragon's NixOS configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
@ -8,74 +8,32 @@
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Powered by
|
||||||
|
flake-parts = {
|
||||||
|
url = "github:hercules-ci/flake-parts";
|
||||||
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
inputs@{ self, nixpkgs, ... }:
|
inputs:
|
||||||
let
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
inherit (self) outputs;
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
system = "x86_64-linux";
|
"aarch64-linux"
|
||||||
overlays = import ./overlays;
|
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = [ overlays.calibre ];
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
packageOverrides = pkgs: {
|
|
||||||
custom = {
|
|
||||||
scripts = import ./home/scripts { inherit pkgs; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
lib = nixpkgs.lib.extend (
|
|
||||||
self: super: {
|
|
||||||
my = import ./lib {
|
|
||||||
inherit pkgs inputs;
|
|
||||||
lib = self;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
mkSystem =
|
|
||||||
{
|
|
||||||
hostname,
|
|
||||||
extraModules ? [ ],
|
|
||||||
}:
|
|
||||||
lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
modules = [ ./hosts/${hostname}/configuration.nix ] ++ extraModules;
|
|
||||||
specialArgs = {
|
|
||||||
inherit
|
|
||||||
inputs
|
|
||||||
outputs
|
|
||||||
system
|
|
||||||
lib
|
|
||||||
pkgs
|
|
||||||
hostname
|
|
||||||
;
|
|
||||||
|
|
||||||
username = "nico";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations = {
|
|
||||||
marr = mkSystem {
|
|
||||||
hostname = "marr";
|
|
||||||
extraModules = [
|
|
||||||
#inputs.nixos-hardware.nixosModules.dell-xps-15-9510-nvidia
|
|
||||||
];
|
];
|
||||||
};
|
|
||||||
|
|
||||||
brontes = mkSystem { hostname = "brontes"; };
|
perSystem =
|
||||||
};
|
{
|
||||||
|
inputs',
|
||||||
devShells."${system}".default = pkgs.mkShell {
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
pre-commit
|
pre-commit
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
|
@ -86,6 +44,42 @@
|
||||||
${pkgs.pre-commit}/bin/pre-commit install -f
|
${pkgs.pre-commit}/bin/pre-commit install -f
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
flake = rec {
|
||||||
templates = import ./templates;
|
templates = import ./templates;
|
||||||
|
# TODO: move that somewhere else
|
||||||
|
lib = inputs.nixpkgs.lib.extend (
|
||||||
|
self: super: {
|
||||||
|
my = import ./lib {
|
||||||
|
lib = self;
|
||||||
|
inherit inputs;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
# TODO: move that somewhere else
|
||||||
|
nixosConfigurations = {
|
||||||
|
marr = lib.my.mkSystem {
|
||||||
|
hostname = "marr";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
extraModules = [
|
||||||
|
#inputs.nixos-hardware.nixosModules.dell-xps-15-9510-nvidia
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
brontes = lib.my.mkSystem {
|
||||||
|
hostname = "brontes";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
};
|
||||||
|
# styrak = lib.my.mkSystem {
|
||||||
|
#hostname = "styrak";
|
||||||
|
#system = "aarch64-linux";
|
||||||
|
#};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, ... }:
|
{ lib, inputs, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
# Verify the existence of a binary inside of a derivation.
|
# Verify the existence of a binary inside of a derivation.
|
||||||
|
@ -9,4 +9,25 @@
|
||||||
abs = lib.getExe' pkg bin;
|
abs = lib.getExe' pkg bin;
|
||||||
in
|
in
|
||||||
if builtins.pathExists abs then abs else throw "${abs} does not exist.";
|
if builtins.pathExists abs then abs else throw "${abs} does not exist.";
|
||||||
|
|
||||||
|
mkSystem =
|
||||||
|
{
|
||||||
|
hostname,
|
||||||
|
extraModules ? [ ],
|
||||||
|
system,
|
||||||
|
}:
|
||||||
|
lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = [ ../hosts/${hostname}/configuration.nix ] ++ extraModules;
|
||||||
|
specialArgs = {
|
||||||
|
inherit
|
||||||
|
inputs
|
||||||
|
system
|
||||||
|
lib
|
||||||
|
hostname
|
||||||
|
;
|
||||||
|
|
||||||
|
username = "nico";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./nixpkgs.nix
|
||||||
|
./overlays
|
||||||
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|
10
modules/nix/nixpkgs.nix
Normal file
10
modules/nix/nixpkgs.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
packageOverrides = pkgs: {
|
||||||
|
custom = {
|
||||||
|
scripts = import ../../home/scripts { inherit pkgs; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
16
modules/nix/overlays/default.nix
Normal file
16
modules/nix/overlays/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
# Add env vars to calibre so they may get propagated to a plugin that needs them
|
||||||
|
(final: prev: {
|
||||||
|
calibre = prev.calibre.overrideAttrs (old: {
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/calibre \
|
||||||
|
--set QT_QPA_PLATFORM xcb \
|
||||||
|
--set-default ACSM_LIBCRYPTO ${prev.openssl.out}/lib/libcrypto.so \
|
||||||
|
--set-default ACSM_LIBSSL ${prev.openssl.out}/lib/libssl.so
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
calibre = final: prev: {
|
|
||||||
calibre = prev.calibre.overrideAttrs (old: {
|
|
||||||
postInstall = ''
|
|
||||||
wrapProgram $out/bin/calibre \
|
|
||||||
--set QT_QPA_PLATFORM xcb \
|
|
||||||
--set-default ACSM_LIBCRYPTO ${prev.openssl.out}/lib/libcrypto.so \
|
|
||||||
--set-default ACSM_LIBSSL ${prev.openssl.out}/lib/libssl.so
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue