big flake cleanup

This commit is contained in:
Sebastian Moser
2024-05-17 12:42:14 +02:00
parent 137a107ce2
commit 64e9d7cab8
3 changed files with 177 additions and 152 deletions

70
flake.lock generated
View File

@@ -4,7 +4,7 @@
"inputs": {
"devshell": "devshell",
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1638562808,
@@ -480,21 +480,6 @@
"type": "github"
}
},
"my-log": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1712193044,
"narHash": "sha256-0e3gIDBHxmhAB5euNqOuf4i2LfWqKRSXPDX/HxaCJIs=",
"path": "/home/me/work/log/new",
"type": "path"
},
"original": {
"path": "/home/me/work/log/new",
"type": "path"
}
},
"networkmanager": {
"locked": {
"lastModified": 1700593965,
@@ -525,7 +510,7 @@
"flake-utils": "flake-utils_4",
"format-all": "format-all",
"nix-straight": "nix-straight",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"nose": "nose",
"ob-racket": "ob-racket",
"org": "org",
@@ -642,7 +627,7 @@
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1714355896,
@@ -805,22 +790,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1702830618,
"narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "91a00709aebb3602f172a0bf47ba1ef013e34835",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1695806987,
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
@@ -835,7 +804,7 @@
"type": "indirect"
}
},
"nixpkgs_4": {
"nixpkgs_3": {
"locked": {
"lastModified": 1714272655,
"narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=",
@@ -851,7 +820,7 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_4": {
"locked": {
"lastModified": 1714564312,
"narHash": "sha256-+Pu+QmY5u33E+PMulmvLiyAgZDi2bgbV5LEtiVXa0c4=",
@@ -867,7 +836,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_5": {
"locked": {
"lastModified": 1613434981,
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
@@ -881,7 +850,7 @@
"type": "indirect"
}
},
"nixpkgs_7": {
"nixpkgs_6": {
"locked": {
"lastModified": 1637841632,
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
@@ -897,7 +866,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_7": {
"locked": {
"lastModified": 1638371214,
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
@@ -977,6 +946,21 @@
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1715935062,
"narHash": "sha256-Y55ZtqyO1S/iwqWk/heGVxX3kH6gYBn1ZvzLkUpYnx0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "1fc89eca191b0a6240a43a2e2bc46627b1593a30",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"ob-racket": {
"flake": false,
"locked": {
@@ -1060,7 +1044,7 @@
"podman": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_6"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1661906180,
@@ -1095,7 +1079,7 @@
"robotnix": {
"inputs": {
"androidPkgs": "androidPkgs",
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_7",
"nixpkgsUnstable": "nixpkgsUnstable"
},
"locked": {
@@ -1118,7 +1102,6 @@
"firefox-addons": "firefox-addons",
"flake-utils": "flake-utils_3",
"home-manager": "home-manager",
"my-log": "my-log",
"networkmanager": "networkmanager",
"nix-doom-emacs": "nix-doom-emacs",
"nix-index-database": "nix-index-database",
@@ -1126,9 +1109,10 @@
"nix-wsl": "nix-wsl",
"nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_4",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur",
"podman": "podman",
"robotnix": "robotnix",
"systems": "systems_5"

226
flake.nix
View File

@@ -1,14 +1,14 @@
{
description = "Sebastian (c2vi)'s NixOS";
################################### INPUTS #########################################
inputs = {
# don't forget to also change the hash of the used nixpkgs in programs/bash.nix the export nip
nixpkgs.url = "github:NixOS/nixpkgs/release-23.11";
#nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
#old-nixpkgs.url = "github:NixOS/nixpkgs/release-22.11";
nur.url = "github:nix-community/NUR";
firefox.url = "github:nix-community/flake-firefox-nightly";
firefox-addons = {
@@ -17,26 +17,21 @@
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
nix-index-database.url = "github:Mic92/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:nixos/nixos-hardware";
networkmanager.url = "github:c2vi/nixos-networkmanager-profiles";
@@ -60,17 +55,18 @@
nix-wsl.url = "github:nix-community/NixOS-WSL";
my-log.url = "path:/home/me/work/log/new";
#my-log.url = "path:/home/me/work/log/new";
#my-log.inputs.nixpkgs.follows = "nixpkgs";
podman.url = "github:ES-Nix/podman-rootless";
flake-utils.url = "github:numtide/flake-utils";
systems.url = "github:nix-systems/default";
};
outputs = { self, nixpkgs, nixos-generators, flake-utils, systems, ... }@inputs:
outputs = { self, nixpkgs, nixpkgs-unstable, nixos-generators, flake-utils, systems, ... }@inputs:
################################### LET FOR OUPUTS #########################################
let
confDir = "/home/me/work/config";
workDir = "/home/me/work";
@@ -112,8 +108,117 @@
system = "x86_64-linux";
pkgs = mypkgs;
};
eachSystem = inputs.flake-utils.outputs.lib.eachSystem;
allSystems = inputs.flake-utils.outputs.lib.allSystems;
in
################################### EACH SYSTEM OUPUTS #########################################
eachSystem allSystems (system: {
############ packages ################
packages = {
pkgsOverlay = import nixpkgs {
inherit system;
overlays = [ (import ./overlays/static-overlay.nix) (import ./overlays/my-overlay.nix) ];
};
pkgsOverlayUnstable = import nixpkgs-unstable {
inherit system;
overlays = [ (import ./overlays/static-overlay.nix) (import ./overlays/my-overlay.nix) ];
};
acern = self.nixosConfigurations.acern.config.system.build.tarballBuilder;
lush = self.nixosConfigurations.lush.config.system.build.sdImage;
rpi = self.nixosConfigurations.rpi.config.system.build.sdImage;
# collection of only my nur pkgs
# my nur is unstable by default
mynurPkgs = inputs.nixpkgs-unstable.legacyPackages.${system}.callPackage ./nur.nix {};
mynurPkgsStable = inputs.nixpkgs.legacyPackages.${system}.callPackage ./nur.nix {};
nurPkgs = let tmp = import inputs.nixpkgs-unstable {
inherit system;
overlays = [ inputs.nur.overlay ];
}; in tmp.nur.repos;
nurPkgsStable = let tmp = import inputs.nixpkgs {
inherit system;
overlays = [ inputs.nur.overlay ];
}; in tmp.nur.repos;
nurSrcs = let tmp = import inputs.nixpkgs-unstable {
inherit system;
overlays = [ inputs.nur.overlay ];
}; in tmp.nur.repo-sources;
nurSrcUrls = let tmp = import inputs.nixpkgs-unstable {
inherit system;
overlays = [ inputs.nur.overlay ];
}; in builtins.mapAttrs (name: value: value.inputDerivation.urls) tmp.nur.repo-sources;
# collection of random things I played around with /built once
# in seperate path to keep this flake cleaner
random = import ./random-pkgs.nix {
inherit system;
# inherit all inputs
inherit self nixpkgs nixpkgs-unstable nixos-generators flake-utils systems inputs;
# inherit all my let bindings
# inherit all my let bindings
inherit confDir workDir secretsDir persistentDir tunepkgs mypkgs specialArgs eachSystem allSystems;
};
}
// # include nur packages from ./nur.nix
# my nur is unstable by default
(import ./nur.nix {pkgs = nixpkgs-unstable.legacyPackages.${system};})
;
############ apps ################
apps = {
test = inputs.nix-on-droid.outputs.apps.x86_64-linux.deploy;
wsl = {
type = "app";
program = "${self.nixosConfigurations.acern.config.system.build.tarballBuilder}/bin/nixos-wsl-tarball-builder";
};
default = {
type = "app";
program = "${self.packages.x86_64-linux.run-vm}/bin/run-vm";
};
};
}) # end of each-system-outputs
// # combine with other-outputs
################################### OTHER OUPUTS #########################################
{
top = builtins.mapAttrs (name: value: value.config.system.build.toplevel) (self.nixOnDroidConfigurations // self.nixosConfigurations);
# this is my nur repo, that you can import and call with pkgs
nur = import ./nur.nix;
tunepkgs = tunepkgs;
pkgs = mypkgs;
overlays = {
static = import ./overlays/static-overlay.nix;
};
# I want to be able to referency my inputs as an output as well
# eg usefull for nix eval github:c2vi/nixos#inputs.nixpkgs.rev to get the current pinned nixpkgs version
inherit inputs;
############ homeModules ################
homeModules = {
#me-headless = import ./users/me/headless.nix;
me-headless = import ./users/common/home.nix;
me = import ./users/me/gui-home.nix;
};
############ nixosConfigurations ################
nixosConfigurations = rec {
"main" = nixpkgs.lib.nixosSystem {
inherit specialArgs;
@@ -319,6 +424,7 @@
};
};
############ robotnixConfigurations ################
robotnixConfigurations = rec {
"phone" = inputs.robotnix.lib.robotnixSystem (import ./hosts/phone/default.nix);
"phone-emulator" = inputs.robotnix.lib.robotnixSystem {
@@ -346,6 +452,7 @@
};
};
############ nixOnDroidConfigurations ################
nixOnDroidConfigurations = rec {
"phone" = inputs.nix-on-droid.lib.nixOnDroidConfiguration {
modules = [
@@ -379,104 +486,5 @@
};
};
homeModules = {
#me-headless = import ./users/me/headless.nix;
me-headless = import ./users/common/home.nix;
};
packages.aarch64-linux = {
cbm = nixpkgs.legacyPackages.aarch64-linux.callPackage ./mods/cbm.nix { };
};
packages.x86_64-linux = {
tunefox = mypkgs.firefox-unwrapped.overrideAttrs (final: prev: {
NIX_CFLAGS_COMPILE = [ (prev.NIX_CFLAGS_COMPILE or "") ] ++ [ "-O3" "-march=native" "-fPIC" ];
requireSigning = false;
});
pkgsWithOverlays = import nixpkgs {
system = "x86_64-linux";
overlays = [ (import ./overlays/static-overlay.nix) (import ./overlays/my-overlay.nix) ];
};
hi = self.nixosConfigurations.the-most-default.config.system.build.toplevel;
#testing = nixpkgs.legacyPackages.x86_64-linux;
testing = (nixpkgs.legacyPackages.x86_64-linux.writeShellApplication {
name = "log";
#runtimeInputs = [ inputs.my-log.packages.${system}.pythonForLog ];
#text = "cd /home/me/work/log/new; nix develop -c 'python ${workDir}/log/new/client.py'";
text = ''${inputs.my-log.packages.x86_64-linux.pythonForLog}/bin/python ${workDir}/log/new/client.py "$@"'';
});
hello-container = mypkgs.dockerTools.buildImage {
name = "hello-docker";
config = {
Cmd = [ "${mypkgs.hello}/bin/hello" ];
};
};
#test = inputs.firefox.packages.${nixpkgs.legacyPackages.x86_64-linux.pkgs.system}; #.firefox-nightly-bin.overrideAttrs (old: {
#NIX_CFLAGS_COMPILE = [ (old.NIX_CFLAGS_COMPILE or "") ] ++ [ "-O3" "-march=native" "-fPIC" ];
#});
cbm = nixpkgs.legacyPackages.x86_64-linux.callPackage ./mods/cbm.nix { };
mac-telnet = nixpkgs.legacyPackages.x86_64-linux.callPackage ./mods/mac-telnet.nix { };
run-vm = specialArgs.pkgs.writeScriptBin "run-vm" ''
${self.nixosConfigurations.hpm.config.system.build.vm}/bin/run-hpm-vm -m 4G -cpu host -smp 4
'';
#luna = (self.nixosConfigurations.luna.extendModules {
#modules = [ "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-no-zfs-installer.nix" ];
#}).config.system.build.sdImage;
acern = self.nixosConfigurations.acern.config.system.build.tarballBuilder;
lush = self.nixosConfigurations.lush.config.system.build.sdImage;
rpi = self.nixosConfigurations.rpi.config.system.build.sdImage;
hec-img = nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = [
./hosts/hpm.nix
];
format = "raw";
inherit specialArgs;
};
prootTermux = inputs.nix-on-droid.outputs.packages.x86_64-linux.prootTermux;
docker = let pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs; in pkgs.dockerTools.buildImage {
name = "hello";
tag = "0.1.0";
config = { Cmd = [ "${pkgs.bash}/bin/bash" ]; };
created = "now";
};
};
apps.x86_64-linux = {
test = inputs.nix-on-droid.outputs.apps.x86_64-linux.deploy;
wsl = {
type = "app";
program = "${self.nixosConfigurations.acern.config.system.build.tarballBuilder}/bin/nixos-wsl-tarball-builder";
};
default = {
type = "app";
program = "${self.packages.x86_64-linux.run-vm}/bin/run-vm";
};
};
tunepkgs = tunepkgs;
pkgs = mypkgs;
home.me = import ./users/me/gui-home.nix;
top = builtins.mapAttrs (name: value: value.config.system.build.toplevel) (self.nixOnDroidConfigurations // self.nixosConfigurations);
#nur = let nur-systems = [ "x86_64-linux" "aarch64-linux" ]; in flake-utils.eachDefaultSystem (system: inputs.nixpkgs-unstable.legacyPackages.${system}.callPackage ./nur.nix {});
overlays = {
static = import ./overlays/static-overlay.nix;
};
inherit inputs;
};
}

33
random-pkgs.nix Normal file
View File

@@ -0,0 +1,33 @@
{ mypkgs, specialArgs, nixos-generators,
system, inputs, nixpkgs, self,
...
}:{
tunefox = mypkgs.firefox-unwrapped.overrideAttrs (final: prev: {
NIX_CFLAGS_COMPILE = [ (prev.NIX_CFLAGS_COMPILE or "") ] ++ [ "-O3" "-march=native" "-fPIC" ];
requireSigning = false;
});
run-vm = specialArgs.pkgs.writeScriptBin "run-vm" ''
${self.nixosConfigurations.hpm.config.system.build.vm}/bin/run-hpm-vm -m 4G -cpu host -smp 4
'';
hec-img = nixos-generators.nixosGenerate {
inherit system;
modules = [
./hosts/hpm.nix
];
format = "raw";
inherit specialArgs;
};
prootTermux = inputs.nix-on-droid.outputs.packages.${system}.prootTermux;
hello-container = let pkgs = nixpkgs.legacyPackages.${system}.pkgs; in pkgs.dockerTools.buildImage {
name = "hello";
tag = "0.1.0";
config = { Cmd = [ "${pkgs.bash}/bin/bash" ]; };
created = "now";
};
}