Compare commits
No commits in common. "d14f96d584d116f197b658566c81af9f845db7ac" and "068faea1e225853b3f90604eeab8f71ed679da5b" have entirely different histories.
d14f96d584
...
068faea1e2
13
.envrc
13
.envrc
|
@ -1,10 +1,9 @@
|
||||||
if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
|
use_flake() {
|
||||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
|
watch_file flake.nix
|
||||||
fi
|
watch_file flake.lock
|
||||||
|
eval "$(nix print-dev-env)"
|
||||||
|
}
|
||||||
|
|
||||||
|
ulimit -s unlimited # Bypass current bug in `nix` flakes evaluation
|
||||||
use flake
|
use flake
|
||||||
|
|
||||||
watch_file ./flake/checks.nix
|
|
||||||
watch_file ./flake/dev-shells.nix
|
|
||||||
|
|
||||||
eval "$shellHooks"
|
eval "$shellHooks"
|
||||||
|
|
90
flake.nix
90
flake.nix
|
@ -67,12 +67,9 @@
|
||||||
, pre-commit-hooks
|
, pre-commit-hooks
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (self) lib;
|
|
||||||
|
|
||||||
inherit (futils.lib) eachSystem system;
|
inherit (futils.lib) eachSystem system;
|
||||||
|
|
||||||
mySystems = [
|
mySystems = [
|
||||||
system.aarch64-darwin
|
|
||||||
system.aarch64-linux
|
system.aarch64-linux
|
||||||
system.x86_64-darwin
|
system.x86_64-darwin
|
||||||
system.x86_64-linux
|
system.x86_64-linux
|
||||||
|
@ -80,20 +77,87 @@
|
||||||
|
|
||||||
eachMySystem = eachSystem mySystems;
|
eachMySystem = eachSystem mySystems;
|
||||||
|
|
||||||
|
lib = nixpkgs.lib.extend (self: super: {
|
||||||
|
my = import ./lib { inherit inputs; pkgs = nixpkgs; lib = self; };
|
||||||
|
});
|
||||||
|
|
||||||
|
defaultModules = [
|
||||||
|
({ ... }: {
|
||||||
|
# Let 'nixos-version --json' know about the Git revision
|
||||||
|
system.configurationRevision = self.rev or "dirty";
|
||||||
|
})
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = (lib.attrValues self.overlays) ++ [
|
||||||
|
nur.overlay
|
||||||
|
];
|
||||||
|
}
|
||||||
|
# Include generic settings
|
||||||
|
./modules
|
||||||
|
# Include bundles of settings
|
||||||
|
./profiles
|
||||||
|
];
|
||||||
|
|
||||||
|
buildHost = name: system: lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = defaultModules ++ [
|
||||||
|
(./. + "/machines/${name}")
|
||||||
|
];
|
||||||
|
specialArgs = {
|
||||||
|
# Use my extended lib in NixOS configuration
|
||||||
|
inherit lib;
|
||||||
|
# Inject inputs to use them in global registry
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
|
};
|
||||||
in
|
in
|
||||||
eachMySystem
|
eachMySystem
|
||||||
(system:
|
(system:
|
||||||
|
let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in
|
||||||
rec {
|
rec {
|
||||||
apps = {
|
apps = {
|
||||||
diff-flake = futils.lib.mkApp { drv = packages.diff-flake; };
|
diff-flake = futils.lib.mkApp { drv = packages.diff-flake; };
|
||||||
default = apps.diff-flake;
|
default = apps.diff-flake;
|
||||||
};
|
};
|
||||||
|
|
||||||
checks = import ./flake/checks.nix inputs system;
|
checks = {
|
||||||
|
pre-commit = pre-commit-hooks.lib.${system}.run {
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
devShells = import ./flake/dev-shells.nix inputs system;
|
hooks = {
|
||||||
|
nixpkgs-fmt = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
packages = import ./flake/packages.nix inputs system;
|
shellcheck = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
devShells = {
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
name = "NixOS-config";
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
gitAndTools.pre-commit
|
||||||
|
nixpkgs-fmt
|
||||||
|
];
|
||||||
|
|
||||||
|
inherit (self.checks.${system}.pre-commit) shellHook;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
packages =
|
||||||
|
let
|
||||||
|
inherit (futils.lib) filterPackages flattenTree;
|
||||||
|
packages = import ./pkgs { inherit pkgs; };
|
||||||
|
flattenedPackages = flattenTree packages;
|
||||||
|
finalPackages = filterPackages system flattenedPackages;
|
||||||
|
in
|
||||||
|
finalPackages;
|
||||||
|
|
||||||
# Work-around for https://github.com/nix-community/home-manager/issues/3075
|
# Work-around for https://github.com/nix-community/home-manager/issues/3075
|
||||||
legacyPackages = {
|
legacyPackages = {
|
||||||
|
@ -132,10 +196,16 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}) // {
|
}) // {
|
||||||
lib = import ./flake/lib.nix inputs;
|
overlays = import ./overlays // {
|
||||||
|
lib = final: prev: { inherit lib; };
|
||||||
|
pkgs = final: prev: {
|
||||||
|
ambroisie = prev.recurseIntoAttrs (import ./pkgs { pkgs = prev; });
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
overlays = import ./flake/overlays.nix inputs;
|
nixosConfigurations = lib.mapAttrs buildHost {
|
||||||
|
aramis = "x86_64-linux";
|
||||||
nixosConfigurations = import ./flake/nixos.nix inputs;
|
porthos = "x86_64-linux";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ self, pre-commit-hooks, ... }:
|
|
||||||
system:
|
|
||||||
{
|
|
||||||
pre-commit = pre-commit-hooks.lib.${system}.run {
|
|
||||||
src = self;
|
|
||||||
|
|
||||||
hooks = {
|
|
||||||
nixpkgs-fmt = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
shellcheck = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ self, nixpkgs, ... }:
|
|
||||||
system:
|
|
||||||
let
|
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
default = pkgs.mkShell {
|
|
||||||
name = "NixOS-config";
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
gitAndTools.pre-commit
|
|
||||||
nixpkgs-fmt
|
|
||||||
];
|
|
||||||
|
|
||||||
inherit (self.checks.${system}.pre-commit) shellHook;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ self, nixpkgs, ... } @ inputs:
|
|
||||||
let
|
|
||||||
lib = nixpkgs.lib.extend (final: _: {
|
|
||||||
my = import "${self}/lib" { inherit inputs; pkgs = nixpkgs; lib = final; };
|
|
||||||
});
|
|
||||||
in
|
|
||||||
lib
|
|
|
@ -1,37 +0,0 @@
|
||||||
{ self, nixpkgs, nur, ... } @ inputs:
|
|
||||||
let
|
|
||||||
inherit (self) lib;
|
|
||||||
|
|
||||||
defaultModules = [
|
|
||||||
({ ... }: {
|
|
||||||
# Let 'nixos-version --json' know about the Git revision
|
|
||||||
system.configurationRevision = self.rev or "dirty";
|
|
||||||
})
|
|
||||||
{
|
|
||||||
nixpkgs.overlays = (lib.attrValues self.overlays) ++ [
|
|
||||||
nur.overlay
|
|
||||||
];
|
|
||||||
}
|
|
||||||
# Include generic settings
|
|
||||||
"${self}/modules"
|
|
||||||
# Include bundles of settings
|
|
||||||
"${self}/profiles"
|
|
||||||
];
|
|
||||||
|
|
||||||
buildHost = name: system: lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
modules = defaultModules ++ [
|
|
||||||
"${self}/machines/${name}"
|
|
||||||
];
|
|
||||||
specialArgs = {
|
|
||||||
# Use my extended lib in NixOS configuration
|
|
||||||
inherit lib;
|
|
||||||
# Inject inputs to use them in global registry
|
|
||||||
inherit inputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
lib.mapAttrs buildHost {
|
|
||||||
aramis = "x86_64-linux";
|
|
||||||
porthos = "x86_64-linux";
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{ self, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
default-overlays = import "${self}/overlays";
|
|
||||||
|
|
||||||
additional-overlays = {
|
|
||||||
# Expose my expanded library
|
|
||||||
lib = final: prev: { inherit (self) lib; };
|
|
||||||
|
|
||||||
# Expose my custom packages
|
|
||||||
pkgs = final: prev: {
|
|
||||||
ambroisie = prev.recurseIntoAttrs (import "${self}/pkgs" { pkgs = prev; });
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
default-overlays // additional-overlays
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ self, futils, nixpkgs, ... }:
|
|
||||||
system:
|
|
||||||
let
|
|
||||||
inherit (futils.lib) filterPackages flattenTree;
|
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
packages = import "${self}/pkgs" { inherit pkgs; };
|
|
||||||
flattenedPackages = flattenTree packages;
|
|
||||||
finalPackages = filterPackages system flattenedPackages;
|
|
||||||
in
|
|
||||||
finalPackages
|
|
|
@ -9,7 +9,7 @@ buildGoModule rec {
|
||||||
sha256 = "sha256-e/AuOA3isFTyBf97Zwtr16yo49UdYzvktV5PKB/eH/s=";
|
sha256 = "sha256-e/AuOA3isFTyBf97Zwtr16yo49UdYzvktV5PKB/eH/s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i -e 's,"mpv","${mpv}/bin/mpv",' ff2mpv.go
|
sed -i -e 's,"mpv","${mpv}/bin/mpv",' ff2mpv.go
|
||||||
|
|
Loading…
Reference in a new issue