mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
ref(nix): formatted with nixfmt-rfc-style
This commit is contained in:
parent
36a2265325
commit
23404db605
40 changed files with 574 additions and 474 deletions
163
nix/lib.nix
163
nix/lib.nix
|
|
@ -5,61 +5,72 @@
|
|||
nix-darwin,
|
||||
flake-utils,
|
||||
...
|
||||
} @ input: let
|
||||
mkArgs = system: let
|
||||
# package sets
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||
"discord"
|
||||
"languagetool"
|
||||
];
|
||||
}@input:
|
||||
let
|
||||
mkArgs =
|
||||
system:
|
||||
let
|
||||
# package sets
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfreePredicate =
|
||||
pkg:
|
||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||
"discord"
|
||||
"languagetool"
|
||||
];
|
||||
};
|
||||
unstable = import nixunstable { inherit system; };
|
||||
nur = import input.nixnur {
|
||||
inherit pkgs;
|
||||
nurpkgs = pkgs;
|
||||
};
|
||||
alt-ergo-pin = import input.alt-ergo-pin {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
neovim-pin = import input.neovim-pin { inherit system; };
|
||||
custom = pkgs.callPackage ./custom {
|
||||
inherit unstable;
|
||||
inherit (input) opam-nix;
|
||||
inherit (alt-ergo-pin) alt-ergo;
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit pkgs unstable nur;
|
||||
inherit (custom) myPkgs myLib;
|
||||
# packages
|
||||
wired = input.wired.packages.${system};
|
||||
agenix = input.agenix.packages.${system};
|
||||
llama-cpp = input.llama-cpp.packages.${system}.default;
|
||||
inherit neovim-pin;
|
||||
nix-visualize = input.nix-visualize.packages.${system}.default;
|
||||
# my packages
|
||||
audio-lint = input.audio-lint.defaultPackage.${system};
|
||||
hbrainfuck = input.hbrainfuck.packages.${system}.default;
|
||||
prop-solveur = input.prop-solveur.packages.${system}.default;
|
||||
};
|
||||
unstable = import nixunstable {inherit system;};
|
||||
nur = import input.nixnur {
|
||||
inherit pkgs;
|
||||
nurpkgs = pkgs;
|
||||
};
|
||||
alt-ergo-pin = import input.alt-ergo-pin {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
neovim-pin = import input.neovim-pin {inherit system;};
|
||||
custom = pkgs.callPackage ./custom {
|
||||
inherit unstable;
|
||||
inherit (input) opam-nix;
|
||||
inherit (alt-ergo-pin) alt-ergo;
|
||||
};
|
||||
in {
|
||||
inherit pkgs unstable nur;
|
||||
inherit (custom) myPkgs myLib;
|
||||
# packages
|
||||
wired = input.wired.packages.${system};
|
||||
agenix = input.agenix.packages.${system};
|
||||
llama-cpp = input.llama-cpp.packages.${system}.default;
|
||||
inherit neovim-pin;
|
||||
nix-visualize = input.nix-visualize.packages.${system}.default;
|
||||
# my packages
|
||||
audio-lint = input.audio-lint.defaultPackage.${system};
|
||||
hbrainfuck = input.hbrainfuck.packages.${system}.default;
|
||||
prop-solveur = input.prop-solveur.packages.${system}.default;
|
||||
};
|
||||
|
||||
defaultOptions = {lib, ...}: {
|
||||
options = {
|
||||
cmus.enable = lib.mkOption {default = false;};
|
||||
extraUtils.enable = lib.mkOption {default = false;};
|
||||
extraLanguageServers.enable = lib.mkOption {default = false;};
|
||||
universityTools.enable = lib.mkOption {default = false;};
|
||||
docker.enable = lib.mkOption {default = false;};
|
||||
fish.extraCompletions = lib.mkOption {default = [];};
|
||||
defaultOptions =
|
||||
{ lib, ... }:
|
||||
{
|
||||
options = {
|
||||
cmus.enable = lib.mkOption { default = false; };
|
||||
extraUtils.enable = lib.mkOption { default = false; };
|
||||
extraLanguageServers.enable = lib.mkOption { default = false; };
|
||||
universityTools.enable = lib.mkOption { default = false; };
|
||||
docker.enable = lib.mkOption { default = false; };
|
||||
fish.extraCompletions = lib.mkOption { default = [ ]; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mkNixOS = name: sys: opts: let
|
||||
args = (mkArgs sys) // {hostname = name;};
|
||||
in
|
||||
mkNixOS =
|
||||
name: sys: opts:
|
||||
let
|
||||
args = (mkArgs sys) // {
|
||||
hostname = name;
|
||||
};
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = args;
|
||||
modules = [
|
||||
|
|
@ -75,15 +86,24 @@
|
|||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = args;
|
||||
users.leana.imports = [./home/_ ./home/${name} defaultOptions opts];
|
||||
users.leana.imports = [
|
||||
./home/_
|
||||
./home/${name}
|
||||
defaultOptions
|
||||
opts
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
mkDarwin = name: sys: opts: let
|
||||
args = (mkArgs sys) // {hostname = name;};
|
||||
in
|
||||
mkDarwin =
|
||||
name: sys: opts:
|
||||
let
|
||||
args = (mkArgs sys) // {
|
||||
hostname = name;
|
||||
};
|
||||
in
|
||||
nix-darwin.lib.darwinSystem {
|
||||
specialArgs = args;
|
||||
modules = [
|
||||
|
|
@ -97,23 +117,38 @@
|
|||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = args;
|
||||
users.leana.imports = [./home/_ ./home/${name} defaultOptions opts];
|
||||
users.leana.imports = [
|
||||
./home/_
|
||||
./home/${name}
|
||||
defaultOptions
|
||||
opts
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
mkHomeManager = name: sys: opts: let
|
||||
args = mkArgs sys // {hostname = name;};
|
||||
in
|
||||
mkHomeManager =
|
||||
name: sys: opts:
|
||||
let
|
||||
args = mkArgs sys // {
|
||||
hostname = name;
|
||||
};
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = args.pkgs;
|
||||
extraSpecialArgs = args;
|
||||
modules = [./home/_ ./home/${name} defaultOptions opts];
|
||||
modules = [
|
||||
./home/_
|
||||
./home/${name}
|
||||
defaultOptions
|
||||
opts
|
||||
];
|
||||
};
|
||||
|
||||
many = func: builtins.mapAttrs (name: opts: func name (opts.system) (opts.settings or {}));
|
||||
in {
|
||||
many = func: builtins.mapAttrs (name: opts: func name (opts.system) (opts.settings or { }));
|
||||
in
|
||||
{
|
||||
mkNixOSes = many mkNixOS;
|
||||
mkHomeManagers = many mkHomeManager;
|
||||
mkDarwins = many mkDarwin;
|
||||
|
|
@ -122,6 +157,6 @@ in {
|
|||
system: { formatter = (mkArgs system).unstable.nixfmt-rfc-style; }
|
||||
);
|
||||
|
||||
myPkgs = flake-utils.lib.eachDefaultSystem (system: {packages = (mkArgs system).myPkgs;});
|
||||
myLib = flake-utils.lib.eachDefaultSystem (system: {lib = (mkArgs system).myLib;});
|
||||
myPkgs = flake-utils.lib.eachDefaultSystem (system: { packages = (mkArgs system).myPkgs; });
|
||||
myLib = flake-utils.lib.eachDefaultSystem (system: { lib = (mkArgs system).myLib; });
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue