forked from fabian/nix_config
apply format
This commit is contained in:
parent
34e3cdaf81
commit
3044c426fd
7 changed files with 1442 additions and 90 deletions
1295
flake.lock
generated
Normal file
1295
flake.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
151
flake.nix
151
flake.nix
|
@ -15,7 +15,6 @@
|
|||
flake-utils.url = "github:numtide/flake-utils";
|
||||
vpsadminos.url = "github:vpsfreecz/vpsadminos";
|
||||
|
||||
|
||||
homepage.url = "git+https://git.posixlycorrect.com/fabian/homepage.git?ref=master";
|
||||
|
||||
conduwuit = {
|
||||
|
@ -53,109 +52,81 @@
|
|||
}: let
|
||||
system = "x86_64-linux";
|
||||
|
||||
importPkgs = flake: import flake {
|
||||
inherit system;
|
||||
importPkgs = flake:
|
||||
import flake {
|
||||
inherit system;
|
||||
|
||||
config = import ./pkgs/config nixpkgs.lib;
|
||||
overlays = [ nur.overlay self.overlays.default ];
|
||||
};
|
||||
config = import ./pkgs/config nixpkgs.lib;
|
||||
overlays = [nur.overlay self.overlays.default];
|
||||
};
|
||||
|
||||
pkgs = importPkgs nixpkgs;
|
||||
|
||||
inherit (pkgs.local.lib) importAll;
|
||||
|
||||
local = import ./pkgs;
|
||||
|
||||
in
|
||||
with pkgs.lib; {
|
||||
formatter.${system} = pkgs.alejandra;
|
||||
packages.${system} = pkgs.local;
|
||||
with pkgs.lib; {
|
||||
formatter.${system} = pkgs.alejandra;
|
||||
packages.${system} = pkgs.local;
|
||||
|
||||
overlays.default = final: prev:
|
||||
let
|
||||
overlays.default = final: prev: let
|
||||
locals = local final prev;
|
||||
in
|
||||
locals.override // {
|
||||
local = locals;
|
||||
unstable = importPkgs unstable;
|
||||
};
|
||||
|
||||
nixosConfigurations =
|
||||
let
|
||||
nixosSystem = { modules }: makeOverridable nixpkgs.lib.nixosSystem {
|
||||
inherit modules pkgs system;
|
||||
|
||||
specialArgs = {
|
||||
inherit flakes;
|
||||
locals.override
|
||||
// {
|
||||
local = locals;
|
||||
unstable = importPkgs unstable;
|
||||
};
|
||||
};
|
||||
|
||||
hostConfig = host: nixosSystem {
|
||||
modules = [
|
||||
./sys
|
||||
host
|
||||
];
|
||||
};
|
||||
nixosConfigurations = let
|
||||
nixosSystem = {modules}:
|
||||
makeOverridable nixpkgs.lib.nixosSystem {
|
||||
inherit modules pkgs system;
|
||||
|
||||
in
|
||||
mapAttrs (_: hostConfig) (importAll { root = ./sys/platforms; });
|
||||
|
||||
specialArgs = {
|
||||
inherit flakes;
|
||||
};
|
||||
};
|
||||
|
||||
homeConfigurations =
|
||||
let
|
||||
registry = { ... }: {
|
||||
config.nix.registry = mapAttrs (
|
||||
_: value {
|
||||
flake = value;
|
||||
}
|
||||
) flakes;
|
||||
hostConfig = host:
|
||||
nixosSystem {
|
||||
modules = [
|
||||
./sys
|
||||
host
|
||||
];
|
||||
};
|
||||
in
|
||||
mapAttrs (_: hostConfig) (importAll {root = ./sys/platforms;});
|
||||
|
||||
homeConfigurations = let
|
||||
registry = {...}: {
|
||||
config.nix.registry = mapAttrs (_:
|
||||
value {
|
||||
flake = value;
|
||||
})
|
||||
flakes;
|
||||
};
|
||||
|
||||
home = platform:
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
./home
|
||||
platforms
|
||||
registry
|
||||
hm-isolation.homeManagerModule
|
||||
];
|
||||
};
|
||||
|
||||
platformHome = platform: let
|
||||
value = home platform;
|
||||
in {
|
||||
inherit value;
|
||||
name = "${value.config.home.username}@${value.config.local.hostname}";
|
||||
};
|
||||
in
|
||||
mapAttrs' (_: platformHome) (importAll {root = ./home/platforms;});
|
||||
};
|
||||
|
||||
home = platform: home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
./home
|
||||
platforms
|
||||
registry
|
||||
hm-isolation.homeManagerModule
|
||||
];
|
||||
};
|
||||
|
||||
platformHome = platform:
|
||||
let
|
||||
value = home platform;
|
||||
in
|
||||
{
|
||||
inherit value;
|
||||
name = "${value.config.home.username}@${value.config.local.hostname}";
|
||||
};
|
||||
in
|
||||
mapAttrs' (_: platformHome) (importAll { root = ./home/platforms; });
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
5
pkgs/config/default.nix
Normal file
5
pkgs/config/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
lib:
|
||||
with lib; {
|
||||
android_sdk.accept_license = true;
|
||||
allowUnfreePredicate = pkg: import ./unfree.nix lib (getName pkg);
|
||||
}
|
13
pkgs/config/unfree.nix
Normal file
13
pkgs/config/unfree.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
lib: name:
|
||||
with lib;
|
||||
elem name [
|
||||
"discord"
|
||||
"rar"
|
||||
"spotify"
|
||||
"spotify-unwrapped"
|
||||
"steam"
|
||||
"steam-original"
|
||||
"steam-run"
|
||||
"teams"
|
||||
"zoom"
|
||||
]
|
45
pkgs/default.nix
Normal file
45
pkgs/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
final: prev:
|
||||
with prev.lib; let
|
||||
inherit (final) callPackage fetchpatch;
|
||||
in {
|
||||
lib = callPackage ./lib {};
|
||||
|
||||
st = prev.st.override {
|
||||
conf = import ./st.nix {};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://st.suckless.org/patches/clipboard/st-clipboard-0.8.3.diff";
|
||||
sha256 = "cbb37675e9b4986836c19aadacc616a006df81c9bf394e9e3573e164fa1867cf";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
override =
|
||||
{
|
||||
}
|
||||
// (
|
||||
let
|
||||
makePyOverrides = version: let
|
||||
name = "python3${toString version}";
|
||||
in {
|
||||
inherit name;
|
||||
|
||||
value = prev.${name}.override {
|
||||
packageOverrides = nextPy: prevPy: {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pyVersionRange' = start: end: let
|
||||
next = end + 1;
|
||||
in
|
||||
if prev ? "python3${toString next}"
|
||||
then pyVersionRange' start next
|
||||
else range start end;
|
||||
|
||||
pyVersionRange = start: pyVersionRange' start start;
|
||||
in
|
||||
listToAttrs (map makePyOverrides (pyVersionRange 9))
|
||||
);
|
||||
}
|
3
pkgs/lib/default.nix
Normal file
3
pkgs/lib/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{callPackage}: {
|
||||
importAll = callPackage ./importAll.nix {};
|
||||
}
|
20
pkgs/lib/importAll.nix
Normal file
20
pkgs/lib/importAll.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{lib}: {
|
||||
root,
|
||||
exclude ? [],
|
||||
}:
|
||||
with builtins;
|
||||
with lib;
|
||||
# http://chriswarbo.net/projects/nixos/useful_hacks.html
|
||||
let
|
||||
basename = removeSuffix ".nix";
|
||||
|
||||
isMatch = name: type:
|
||||
(hasSuffix ".nix" name || type == "directory")
|
||||
&& ! elem name (map basename exclude);
|
||||
|
||||
entry = name: _: {
|
||||
name = basename name;
|
||||
value = import (root + "/${name}");
|
||||
};
|
||||
in
|
||||
mapAttrs' entry (filterAttrs isMatch (readDir root))
|
Loading…
Add table
Add a link
Reference in a new issue