diff --git a/README.md b/README.md index c4e3545..d11785b 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,15 @@ Collection of my personal Nix configurations and opinionated NixOS, nix-darwin, home-manager, and flake-parts modules. > [!CAUTION] -> I tried to make the modules in this repository useful to others without having to modify them, -> meaning I tried to have many configuration options, have them be disabled by default, etc. -> That is no more and although I still encourage people to use my config for learning and inspiration, -> the modules will now assume they're running in my infrastructure and I'll only add -> configuration and/or enabling options when it makes sense to me, personally. +> I tried to make the modules in this repository useful to others without having +> to modify them, meaning I tried to have many configuration options, have them +> be disabled by default, etc. That is no more and although I still encourage +> people to use my config for learning and inspiration, the modules will now +> assume they're running in my infrastructure and I'll only add configuration +> and/or enabling options when it makes sense to me, personally. ## Project structure + - hosts - per-machine configurations - kazuki - my linux arm server - legion - my linux x86 server @@ -26,28 +28,36 @@ Collection of my personal Nix configurations and opinionated NixOS, nix-darwin, - flake - flake-parts modules - services - configs for services I self-host - secrets - agenix secrets -- wrappers - nix packages wrapped with my configs (see: [wrapper-manager](https://github.com/viperML/wrapper-manager)) +- wrappers - nix packages wrapped with my configs (see: + [wrapper-manager](https://github.com/viperML/wrapper-manager)) - assets - miscellaneous values reused throughout my config - effects.nix - hercules-ci configuration ## Code guidelines -Not set rules but general guidelines for myself to hopefully keep this config clean, maintainable, and reusable. +Not set rules but general guidelines for myself to hopefully keep this config +clean, maintainable, and reusable. -- only importing downwards. this means no `imports = [ ../../foo/bar/some-module.nix ];` -- ideally only one level of imports. -this means i'll try to only do `imports = [ ./foo ];` or `imports = [ ./bar.nix ]` but not `imports = [ ./x/y/z.nix ];` -- the file should be roughly in order of most interesting to least interesting options. +- only importing downwards. this means no + `imports = [ ../../foo/bar/some-module.nix ];` +- ideally only one level of imports. this means i'll try to only do + `imports = [ ./foo ];` or `imports = [ ./bar.nix ]` but not + `imports = [ ./x/y/z.nix ];` +- the file should be roughly in order of most interesting to least interesting + options. - `imports` should be the first attribute (except for `_file`) -- there should be no implicit state anywhere in the config. -(sounds obvious but this is already broken with legion and the zfs pool but i'll let that one slide) -to achieve this i still need to create a proper live iso with my config and my bootstrapping ssh key +- there should be no implicit state anywhere in the config. (sounds obvious but + this is already broken with legion and the zfs pool but i'll let that one + slide) to achieve this i still need to create a proper live iso with my config + and my bootstrapping ssh key ## TODOs + Sorted rougly by priority - bring back ci (sorta done) -- hercules-ci effects for deploying machines on update (if configuration is valid) +- hercules-ci effects for deploying machines on update (if configuration is + valid) - fix disko - make the configuration truly declarative (to a reasonable degree) - themeing solution diff --git a/flake.nix b/flake.nix index 9fc332d..f2007c6 100644 --- a/flake.nix +++ b/flake.nix @@ -55,6 +55,18 @@ programs.nixfmt.enable = true; programs.statix.enable = true; programs.fish_indent.enable = true; + programs.deno.enable = true; + programs.stylua.enable = true; + programs.shfmt.enable = true; + settings.global.excludes = [ + # agenix + "*.age" + + # racket + "*.rkt" + "**/rashrc" + ]; + settings.on-unmatched = "fatal"; }; }; }; diff --git a/garnix.yaml b/garnix.yaml index 8e4aa0f..1829619 100644 --- a/garnix.yaml +++ b/garnix.yaml @@ -1,8 +1,8 @@ builds: include: - - 'devShells.*.*' - - 'packages.*.*' - - 'formatter.*' - - 'nixosConfigurations.*' - - 'darwinConfigurations.*' - - 'homeConfigurations.*' + - "devShells.*.*" + - "packages.*.*" + - "formatter.*" + - "nixosConfigurations.*" + - "darwinConfigurations.*" + - "homeConfigurations.*" diff --git a/modules/system/default.nix b/modules/system/default.nix index a352333..4b82bd1 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -5,10 +5,8 @@ }: { config, - configurationName, lib, pkgs, - inputs, inputs', username, ... diff --git a/wrappers/wezterm/config.lua b/wrappers/wezterm/config.lua index c47dbab..7890eed 100644 --- a/wrappers/wezterm/config.lua +++ b/wrappers/wezterm/config.lua @@ -1,22 +1,22 @@ -local wezterm = require 'wezterm' +local wezterm = require("wezterm") local cfg = { - color_scheme = 'Default Dark (base16)', - enable_tab_bar = false, - font = wezterm.font('IosevkaTerm Nerd Font'), - window_decorations = 'TITLE | RESIZE', - font_size = 10.5, - native_macos_fullscreen_mode = true, - hide_mouse_cursor_when_typing = false, - keys = { - { key = "Enter", mods = "CTRL", action = wezterm.action { SendString = "\x1b[13;5u" } }, - { key = "Enter", mods = "SHIFT", action = wezterm.action { SendString = "\x1b[13;2u" } }, - }, + color_scheme = "Default Dark (base16)", + enable_tab_bar = false, + font = wezterm.font("IosevkaTerm Nerd Font"), + window_decorations = "TITLE | RESIZE", + font_size = 10.5, + native_macos_fullscreen_mode = true, + hide_mouse_cursor_when_typing = false, + keys = { + { key = "Enter", mods = "CTRL", action = wezterm.action({ SendString = "\x1b[13;5u" }) }, + { key = "Enter", mods = "SHIFT", action = wezterm.action({ SendString = "\x1b[13;2u" }) }, + }, } if string.find(wezterm.target_triple, "darwin") then - cfg.font_size = 14.0 - cfg.window_decorations = 'RESIZE' + cfg.font_size = 14.0 + cfg.window_decorations = "RESIZE" end return cfg