5PKY2AL3ELY7NERTVH2K2SNF64ZINHWKSOJCUQTL25RJHUXSTLBQC
V5HNZGTFYNRMKUU2HXDGKAPVZ35JZAQZKXSGZ337HKTDYJLQ6D2QC
J3Z7EVECIEYOHKSHGKY5K3ZXTYDEQV5QBAFVM3S7B63OUYEWAJ2AC
B4SBRHPXKTSZD3KM45V6ZNY3CPNM454DOFZCJPL2BDWCEIVUBNVAC
3OAFCHK7EIRUD3ZLAGZ3MAXVYOGFAJVDOF63ZIGNU7I3RWIPMAOQC
2DRB4ZNFY2X3DCVSWUDGFG5CAHACD3FZ54XEWSLM2ZDSA2QZRTGQC
U6GSJX5ZG4O7R3XO4CA7G62TTDE22HRZ2LL7EQKLQSYCHCAA3CQQC
BKU3SBYQV4NMFT4HI3LPNSZ55M4OV2GVWZAQZUAIXXGLL7RPI7GAC
EKNR3UNTAR2MCROCKAYF3UUJBG56ZV2AUJD4BMQYGQJ3KUZT4GKQC
WHTEZBXRS7R3AM44LJZFR2YE6RP4IWE3AB5V3DYGO4YJU7PBTMQAC
COUSBBHL5XPZC5KWCYFFAE554D4VFFO55QOD726ODWIRZGWOUSUAC
2KXMUFYOTAZO5GFGRFG6GGFJ3BIFO42O7CXBQRP2XH5WWZUOT6UAC
KOJUSLZEOGTPYW2EGQY6PZKGGMOL6PLIQ7NUAJR26S5HZZZQQJYQC
PKUQNGARQTNWOZNQYHXVQH2UEXORRVKZZUYGXPQB3AAS6QXAWXBQC
OAVCY7YYCDLYL4V3LMWSFEFIRVNV4XDIIFKAEZBLHUHZTW7QNIGQC
OEG6DPRQVUDPTETGTOR7WYOJTIB4SWUPXGYW4FEPWSYYNULOCTIQC
K2XT635ZUJEPCX34IM3QGSE4WSFASM4OTMFONALXYFCRX3YXMBSAC
WJXAODNJYL54BUFSRF3G2AEBWEI6Q4YH5DXYLK3UYC6JRJYGG7TQC
ZH6EAGFIDERASR6IRHMOHY3RFYDIXB6SXBQZHA36X6NOENM6W43QC
XIONTGEMTEHAUZ2RBBF7L5EOHEC2Y2ZQSTOJCL6I2IHI5527QRBAC
wvous-bl-corner = 1; # disable hot corners
wvous-br-corner = 1; # disable hot corners
wvous-tl-corner = 1; # disable hot corners
wvous-tr-corner = 1; # disable hot corners
wvous-bl-corner = 1; # disable hot corners
wvous-br-corner = 1; # disable hot corners
wvous-tl-corner = 1; # disable hot corners
wvous-tr-corner = 1; # disable hot corners
nixpkgs,
emacs-overlay,
home-manager,
nixos-hardware,
nix-doom-emacs,
wayland-overlay,
pre-commit-hooks,
agenix,
darwin,
...
} @ inputs: let
overlays = [emacs-overlay.overlay wayland-overlay.overlay];
pkgs = nixpkgs.legacyPackages.x86_64-linux;
helloDotfiles = pkgs.writeShellApplication {
name = "helloDotfiles";
runtimeInputs = [pkgs.coreutils];
text = ''
printf "\n\n"
echo 👋👋 hello from github:averagechris/dotfiles
echo have a nice day 😎
printf "\n\n"
'';
};
nixpkgs,
emacs-overlay,
home-manager,
nixos-hardware,
nix-doom-emacs,
wayland-overlay,
pre-commit-hooks,
agenix,
darwin,
flake-utils,
...
} @ inputs:
with flake-utils.lib;
eachSystem
[system.x86_64-linux system.aarch64-linux]
(sys: let
overlays = [emacs-overlay.overlay wayland-overlay.overlay];
pkgs = nixpkgs.legacyPackages.${sys};
in {
packages = rec {
hello = pkgs.writeShellApplication {
name = "helloDotfiles";
runtimeInputs = [pkgs.coreutils];
text = ''
printf "\n\n"
echo 👋👋 hello from ~averagechris/dotfiles
echo have a nice day 😎
printf "\n\n"
'';
};
default = hello;
};
thelio-nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs overlays;
};
modules = [
./nixpkgs/nixos/thelio
nixos-hardware.nixosModules.system76
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/desktop_common.nix
./nixpkgs/nixos/graphical.nix
./nixpkgs/nixos/greetd.nix
./nixpkgs/nixos/networking.nix
./nixpkgs/nixos/docker.nix
./nixpkgs/nixos/sound.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris.nix
./nixpkgs/nixos/users/chris-focus.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
agenix.nixosModule
];
};
xps-nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs overlays;};
modules = [
./nixpkgs/nixos/xps
nixos-hardware.nixosModules.system76
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/desktop_common.nix
./nixpkgs/nixos/docker.nix
./nixpkgs/nixos/graphical.nix
./nixpkgs/nixos/greetd.nix
./nixpkgs/nixos/networking.nix
./nixpkgs/nixos/sound.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris-focus.nix
./nixpkgs/nixos/users/chris.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
agenix.nixosModule
];
};
tootsie = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs overlays;};
modules = [
./nixpkgs/nixos/tootsie
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris-minimal.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
taz = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs overlays;};
modules = [
./nixpkgs/nixos/taz
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/searx.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris-minimal.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
in {
overlays = {
emacs = emacs-overlay.overlay;
wayland = wayland-overlay.overlay;
};
nixosConfigurations = {
inherit
taz
thelio-nixos
tootsie
xps-nixos
;
};
checks =
{
pre-commit = pre-commit-hooks.lib.${sys}.run {
src = ./.;
hooks = {
alejandra.enable = true;
statix.enable = true;
shellcheck.enable = true;
markdown-formatter = {
enable = true;
name = "markdown-formatter";
types = ["markdown"];
language = "system";
pass_filenames = true;
entry = with pkgs.python310Packages; "${mdformat}/bin/mdformat";
};
markdown-linter = {
enable = true;
name = "markdown-linter";
types = ["markdown"];
language = "system";
pass_filenames = true;
entry = with pkgs; "${mdl}/bin/mdl -g";
};
};
};
}
// (
if sys == system.x86_64-linux
then {
# these checks take ~4GB of memory right now to run
# since nix flake check loads all of outputs.nixosConfigurations
# into memory at once 😢
thelio-nixos = self.outputs.nixosConfigurations.thelio-nixos.config.system.build.toplevel;
xps-nixos = self.outputs.nixosConfigurations.xps-nixos.config.system.build.toplevel;
tootsie = self.outputs.nixosConfigurations.tootsie.config.system.build.toplevel;
taz = self.outputs.nixosConfigurations.taz.config.system.build.toplevel;
}
else {}
);
darwinConfigurations.suremac = darwin.lib.darwinSystem {
system = "aarch64-darwin";
modules = [ ./nixpkgs/darwin/suremac ];
};
devShells = {
default = pkgs.mkShell {
shellHook =
self.checks.${sys}.pre-commit.shellHook
+ ''
helloDotfiles
'';
buildInputs = with pkgs; [
alejandra
cachix
self.outputs.packages.${sys}.hello
mdl
statix
python310Packages.mdformat
];
};
};
packages.x86_64-linux.default = helloDotfiles;
formatter = pkgs.alejandra;
})
// rec {
overlays = {
emacs = emacs-overlay.overlay;
wayland = wayland-overlay.overlay;
};
nixosConfigurations = {
thelio-nixos = nixpkgs.lib.nixosSystem {
system = system.x86_64-linux;
specialArgs = {
inherit (self.outputs) overlays;
inherit inputs;
};
modules = [
./nixpkgs/nixos/thelio
nixos-hardware.nixosModules.system76
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/desktop_common.nix
./nixpkgs/nixos/graphical.nix
./nixpkgs/nixos/greetd.nix
./nixpkgs/nixos/networking.nix
./nixpkgs/nixos/docker.nix
./nixpkgs/nixos/sound.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris.nix
./nixpkgs/nixos/users/chris-focus.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
agenix.nixosModule
];
};
# these checks take ~4GB of memory right now to run
# since nix flake check loads all of outputs.nixosConfigurations
# into memory at once 😢
checks.x86_64-linux = {
thelio-nixos = thelio-nixos.config.system.build.toplevel;
xps-nixos = xps-nixos.config.system.build.toplevel;
tootsie = tootsie.config.system.build.toplevel;
taz = taz.config.system.build.toplevel;
xps-nixos = nixpkgs.lib.nixosSystem {
system = system.x86_64-linux;
specialArgs = {
inherit (self.outputs) overlays;
inherit inputs;
};
modules = [
./nixpkgs/nixos/xps
nixos-hardware.nixosModules.system76
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/desktop_common.nix
./nixpkgs/nixos/docker.nix
./nixpkgs/nixos/graphical.nix
./nixpkgs/nixos/greetd.nix
./nixpkgs/nixos/networking.nix
./nixpkgs/nixos/sound.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris-focus.nix
./nixpkgs/nixos/users/chris.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
agenix.nixosModule
];
};
pre-commit = pre-commit-hooks.lib.x86_64-linux.run {
src = ./.;
hooks = {
alejandra.enable = true;
statix.enable = true;
shellcheck.enable = true;
markdown-formatter = {
enable = true;
name = "markdown-formatter";
types = ["markdown"];
language = "system";
pass_filenames = true;
entry = with pkgs.python310Packages; "${mdformat}/bin/mdformat";
tootsie = nixpkgs.lib.nixosSystem {
system = system.x86_64-linux;
specialArgs = {
inherit (self.outputs) overlays;
inherit inputs;
};
modules = [
./nixpkgs/nixos/tootsie
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris-minimal.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
markdown-linter = {
enable = true;
name = "markdown-linter";
types = ["markdown"];
language = "system";
pass_filenames = true;
entry = with pkgs; "${mdl}/bin/mdl -g";
taz = nixpkgs.lib.nixosSystem {
system = system.x86_64-linux;
specialArgs = {
inherit (self.outputs) overlays;
inherit inputs;
};
modules = [
./nixpkgs/nixos/taz
./nixpkgs/nixos/common.nix
./nixpkgs/nixos/searx.nix
./nixpkgs/nixos/tailscale.nix
./nixpkgs/nixos/users/chris-minimal.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
devShells = {
x86_64-linux.default = pkgs.mkShell {
shellHook =
self.checks.x86_64-linux.pre-commit.shellHook
+ ''
helloDotfiles
'';
buildInputs = with pkgs; [
alejandra
cachix
helloDotfiles
mdl
statix
python310Packages.mdformat
];
darwinConfigurations.suremac = darwin.lib.darwinSystem {
system = system.aarch64-darwin;
modules = [./nixpkgs/darwin/suremac];
};
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {