inputs: { pkgs, ... }: let inherit (pkgs.unstable) clang clang-tools ; in { imports = [ (import ./development/adb.nix inputs) (import ./development/latex.nix inputs) (import ./development/nixvim-dev.nix inputs) ]; users.extraUsers.minijackson.packages = [ pkgs.git-branchless ] ++ (with pkgs.unstable; [ bintools clang clang-tools delta diffoscopeMinimal difftastic elixir gcc gdb graphviz hyperfine man-pages nix-output-monitor rr watchexec xh gh git-absorb gitoxide shfmt taplo # Rust dev bacon rustup lldb # Python python3Packages.ipython ruff uv neovide typst # Nix deadnix nil nix-init nixpkgs-fmt nixpkgs-hammering nurl statix superhtml # TODO: add global vale config vale # dependencies for vale on RST docutils python3 ]); programs.zsh.interactiveShellInit = '' (( $+commands[rustc] )) && fpath+="$(rustc --print sysroot)/share/zsh/site-functions" source ${../../dotfiles/git-branchless.zsh} ''; programs.liboping.enable = true; documentation.dev.enable = true; boot.kernel.sysctl = { # For RR "kernel.perf_event_paranoid" = 1; }; home-manager.users.minijackson = { config, ... }: { home.shellAliases.git = "git-branchless wrap --"; home.file.".clang-format".source = (pkgs.formats.yaml { }).generate "clang-format.yml" { BasedOnStyle = "Mozilla"; ColumnLimit = 100; TabWidth = 4; IndentWidth = 4; UseTab = "ForIndentation"; AlignAfterOpenBracket = "AlwaysBreak"; AccessModifierOffset = -4; AlwaysBreakAfterDefinitionReturnType = "None"; AlwaysBreakAfterReturnType = "None"; AlwaysBreakTemplateDeclarations = true; BinPackArguments = false; BinPackParameters = false; BreakConstructorInitializers = "BeforeComma"; Cpp11BracedListStyle = true; DerivePointerAlignment = false; NamespaceIndentation = "Inner"; PenaltyBreakBeforeFirstCallParameter = 2; PointerAlignment = "Left"; Standard = "Latest"; }; programs.direnv = { enable = true; enableBashIntegration = true; enableZshIntegration = true; nix-direnv.enable = true; }; home.sessionVariables = { MIX_XDG = "1"; RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; CARGO_HOME = "${config.xdg.dataHome}/cargo"; RUFF_CACHE_DIR = "${config.xdg.cacheHome}/ruff"; PYTHONPYCACHEPREFIX = "${config.xdg.cacheHome}/python"; PYTHONUSERBASE = "${config.xdg.dataHome}/python"; _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${config.xdg.configHome}/java"; }; }; nixpkgs.overlays = [ (self: super: { inherit (self.unstable) nix-direnv direnv; }) ]; }