mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 09:27:44 -04:00
Add linting, formatting, and CI
- Add deadnix, nixfmt, and statix to flake inputs - Add formatter output to flake for nix fmt support - Add deadnix, nixfmt, statix to Home Manager packages - Format all nix files with nixfmt - Add GitHub Actions workflow for CI validation - Support x86_64-darwin in formatter
This commit is contained in:
parent
1312755c4b
commit
c1a53997ce
75 changed files with 1417 additions and 767 deletions
|
|
@ -1,8 +1,10 @@
|
|||
{ inputs, ... }: let
|
||||
{ inputs, ... }:
|
||||
let
|
||||
mkDarwinHost = import ./mkDarwinHost.nix { inherit inputs; };
|
||||
mkHomeConfig = import ./mkHomeConfig.nix { inherit inputs; };
|
||||
mkNixosHost = import ./mkNixosHost.nix { inherit inputs; };
|
||||
in {
|
||||
in
|
||||
{
|
||||
inherit (mkDarwinHost) mkDarwinHost;
|
||||
inherit (mkHomeConfig) mkHomeConfig;
|
||||
inherit (mkNixosHost) mkNixosHost;
|
||||
|
|
|
|||
|
|
@ -1,41 +1,50 @@
|
|||
{ inputs, ... }: {
|
||||
mkDarwinHost = {
|
||||
system ? "aarch64-darwin",
|
||||
hostname,
|
||||
username ? "gene",
|
||||
additionalModules ? [],
|
||||
additionalSpecialArgs ? {}
|
||||
}: inputs.nix-darwin.lib.darwinSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
|
||||
modules = [
|
||||
./nixpkgs-settings.nix
|
||||
|
||||
inputs.nix-homebrew.darwinModules.nix-homebrew {
|
||||
nix-homebrew = {
|
||||
enable = true; # Install Homebrew under the default prefix
|
||||
user = "${username}"; # User owning the Homebrew prefix
|
||||
autoMigrate = true; # Automatically migrate existing Homebrew installations
|
||||
};
|
||||
{ inputs, ... }:
|
||||
{
|
||||
mkDarwinHost =
|
||||
{
|
||||
system ? "aarch64-darwin",
|
||||
hostname,
|
||||
username ? "gene",
|
||||
additionalModules ? [ ],
|
||||
additionalSpecialArgs ? { },
|
||||
}:
|
||||
inputs.nix-darwin.lib.darwinSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs hostname username;
|
||||
}
|
||||
// additionalSpecialArgs;
|
||||
modules = [
|
||||
./nixpkgs-settings.nix
|
||||
|
||||
inputs.home-manager.darwinModules.home-manager {
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs username; };
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username}.imports = [
|
||||
inputs.sops-nix.homeManagerModule # user-level secrets management
|
||||
../modules/shared/home/general
|
||||
../modules/shared/home/general/all-gui.nix
|
||||
../modules/hosts/darwin/home.nix
|
||||
../modules/hosts/darwin/${hostname}/home-${username}.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
inputs.nix-homebrew.darwinModules.nix-homebrew
|
||||
{
|
||||
nix-homebrew = {
|
||||
enable = true; # Install Homebrew under the default prefix
|
||||
user = "${username}"; # User owning the Homebrew prefix
|
||||
autoMigrate = true; # Automatically migrate existing Homebrew installations
|
||||
};
|
||||
}
|
||||
|
||||
../modules/hosts/darwin # system-wide stuff
|
||||
../modules/hosts/darwin/${hostname} # host specific stuff
|
||||
] ++ additionalModules; # end modules
|
||||
}; # end darwinSystem
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs username; };
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username}.imports = [
|
||||
inputs.sops-nix.homeManagerModule # user-level secrets management
|
||||
../modules/shared/home/general
|
||||
../modules/shared/home/general/all-gui.nix
|
||||
../modules/hosts/darwin/home.nix
|
||||
../modules/hosts/darwin/${hostname}/home-${username}.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
../modules/hosts/darwin # system-wide stuff
|
||||
../modules/hosts/darwin/${hostname} # host specific stuff
|
||||
]
|
||||
++ additionalModules; # end modules
|
||||
}; # end darwinSystem
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,39 @@
|
|||
{ inputs, ... }: {
|
||||
mkHomeConfig = {
|
||||
homeDirectory,
|
||||
system,
|
||||
username,
|
||||
}: inputs.home-manager.lib.homeManagerConfiguration {
|
||||
extraSpecialArgs = { inherit inputs homeDirectory system username; };
|
||||
{ inputs, ... }:
|
||||
{
|
||||
mkHomeConfig =
|
||||
{
|
||||
homeDirectory,
|
||||
system,
|
||||
username,
|
||||
}:
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
extraSpecialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
homeDirectory
|
||||
system
|
||||
username
|
||||
;
|
||||
};
|
||||
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||
|
||||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [
|
||||
./nixpkgs-settings.nix
|
||||
../modules/shared/home/general
|
||||
../modules/hosts/home-manager-only
|
||||
../modules/hosts/home-manager-only/home-${username}.nix
|
||||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [
|
||||
./nixpkgs-settings.nix
|
||||
../modules/shared/home/general
|
||||
../modules/hosts/home-manager-only
|
||||
../modules/hosts/home-manager-only/home-${username}.nix
|
||||
|
||||
{
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "${homeDirectory}";
|
||||
};
|
||||
}
|
||||
{
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "${homeDirectory}";
|
||||
};
|
||||
}
|
||||
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
}
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,44 @@
|
|||
{ inputs, ... }: {
|
||||
mkNixosHost = {
|
||||
system ? "x86_64-linux",
|
||||
hostname,
|
||||
username ? "gene",
|
||||
additionalModules ? [],
|
||||
additionalSpecialArgs ? {}
|
||||
}: inputs.nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
|
||||
modules = [
|
||||
./nixpkgs-settings.nix
|
||||
|
||||
inputs.disko.nixosModules.disko
|
||||
|
||||
inputs.home-manager.nixosModules.home-manager {
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs hostname username; };
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username}.imports = [
|
||||
../modules/shared/home/general
|
||||
../modules/shared/home/linux
|
||||
../modules/hosts/nixos/${hostname}/home-${username}.nix
|
||||
];
|
||||
};
|
||||
{ inputs, ... }:
|
||||
{
|
||||
mkNixosHost =
|
||||
{
|
||||
system ? "x86_64-linux",
|
||||
hostname,
|
||||
username ? "gene",
|
||||
additionalModules ? [ ],
|
||||
additionalSpecialArgs ? { },
|
||||
}:
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs hostname username;
|
||||
}
|
||||
// additionalSpecialArgs;
|
||||
modules = [
|
||||
./nixpkgs-settings.nix
|
||||
|
||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.private-flake.nixosModules.private.ssh-keys
|
||||
inputs.sops-nix.nixosModules.sops # system wide secrets management
|
||||
../modules/hosts/nixos # system-wide stuff
|
||||
../modules/hosts/nixos/${hostname} # host specific stuff
|
||||
] ++ additionalModules;
|
||||
};
|
||||
inputs.disko.nixosModules.disko
|
||||
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs hostname username; };
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username}.imports = [
|
||||
../modules/shared/home/general
|
||||
../modules/shared/home/linux
|
||||
../modules/hosts/nixos/${hostname}/home-${username}.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.private-flake.nixosModules.private.ssh-keys
|
||||
inputs.sops-nix.nixosModules.sops # system wide secrets management
|
||||
../modules/hosts/nixos # system-wide stuff
|
||||
../modules/hosts/nixos/${hostname} # host specific stuff
|
||||
]
|
||||
++ additionalModules;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ inputs, ... }: {
|
||||
{ inputs, ... }:
|
||||
{
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue