Personal Nix flake
nixos home-manager nix
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: Add headless, server profiles, more granular profiles

+136 -30
-1
nix/home/modules/cli/atuin/default.nix
··· 29 29 atuinLogin 30 30 ]; 31 31 32 - programs.mcfly.enable = lib.mkForce false; 33 32 programs.atuin = { 34 33 enable = true; 35 34 daemon.enable = osConfig != {};
+1
nix/home/modules/cli/default.nix
··· 3 3 ./atuin 4 4 ./editors 5 5 ./essentials 6 + ./extras.nix 6 7 ./fish 7 8 ./git 8 9 ./hishtory
-26
nix/home/modules/cli/essentials/default.nix
··· 14 14 packages = 15 15 (with pkgs; [ 16 16 _7zz # Just 7-zip 17 - asciinema 18 17 bash 19 18 chafa 20 19 cheat 21 20 curl 22 21 delta 23 - devenv 24 22 difftastic 25 23 dust 26 24 duf 27 25 fd 28 - ffmpeg 29 26 file 30 27 fx 31 28 gnutar 32 29 hexyl 33 - htop 34 - imagemagick 35 - inotify-tools 36 30 inshellisense 37 - jocalsend 38 31 jq 39 32 neofetch 40 33 ncdu 41 - nix-output-monitor 42 34 nurl 43 35 poppler 44 36 procs 45 37 progress 46 - python312Packages.howdoi 47 38 resvg 48 39 rsync 49 40 sad 50 41 serpl 51 - termshot 52 42 tgpt 53 43 tig 54 44 yazi ··· 69 59 btop.enable = true; 70 60 carapace.enable = true; 71 61 dircolors.enable = true; 72 - direnv = { 73 - enable = true; 74 - nix-direnv.enable = true; 75 - config.global.hide_env_diff = true; 76 - }; 77 62 eza = { 78 63 enable = true; 79 64 extraOptions = [ ··· 84 69 icons = "auto"; 85 70 }; 86 71 fzf.enable = true; 87 - mcfly = { 88 - enable = lib.mkDefault true; 89 - fuzzySearchFactor = 2; 90 - keyScheme = "vim"; 91 - }; 92 - nh = { 93 - enable = lib.mkDefault true; 94 - flake = builtins.replaceStrings ["~"] [config.home.homeDirectory] flake.path; 95 - }; 96 - nix-index.enable = true; 97 - nix-index-database.comma.enable = true; 98 72 ripgrep.enable = true; 99 73 zoxide.enable = true; 100 74 };
+33
nix/home/modules/cli/extras.nix
··· 1 + { 2 + config, 3 + lib, 4 + pkgs, 5 + ... 6 + }: let 7 + inherit (config.my.config) flake; 8 + cfg = config.my.cli.extras; 9 + in { 10 + options.my.cli.extras.enable = lib.mkEnableOption "CLI extras"; 11 + 12 + config = lib.mkIf cfg.enable { 13 + home.packages = with pkgs; [ 14 + asciinema 15 + ffmpeg 16 + imagemagick 17 + inotify-tools 18 + jocalsend 19 + nix-output-monitor 20 + python312Packages.howdoi 21 + termshot 22 + ]; 23 + 24 + programs = { 25 + nh = { 26 + enable = lib.mkDefault true; 27 + flake = builtins.replaceStrings ["~"] [config.home.homeDirectory] flake.path; 28 + }; 29 + nix-index.enable = true; 30 + nix-index-database.comma.enable = true; 31 + }; 32 + }; 33 + }
-1
nix/home/modules/cli/hishtory/default.nix
··· 29 29 hishtory enable 30 30 ''; 31 31 in { 32 - mcfly.enable = false; 33 32 fish.interactiveShellInit = '' 34 33 ${commonPre} 35 34
+3
nix/home/modules/default.nix
··· 38 38 ]; 39 39 40 40 my = { 41 + bars.dank-material-shell.enable = lib.mkDefault true; 41 42 cli = { 42 43 atuin.enable = true; 43 44 editors = { ··· 47 48 vim.enable = lib.mkDefault true; 48 49 }; 49 50 essentials.enable = lib.mkDefault true; 51 + extras.enable = lib.mkDefault true; 50 52 fish.enable = lib.mkDefault true; 51 53 git.enable = lib.mkDefault true; 52 54 nushell.enable = lib.mkDefault true; ··· 56 58 zsh.enable = lib.mkDefault true; 57 59 }; 58 60 development = { 61 + enable = lib.mkDefault true; 59 62 nixd.enable = lib.mkDefault true; 60 63 }; 61 64 nix.enable = lib.mkDefault true;
+20
nix/home/modules/development/default.nix
··· 1 1 { 2 + config, 3 + lib, 4 + pkgs, 5 + ... 6 + }: let 7 + cfg = config.my.development; 8 + in { 2 9 imports = [ 3 10 ./nixd.nix 4 11 ]; 12 + 13 + options.my.development.enable = lib.mkEnableOption "development tools"; 14 + 15 + config = lib.mkIf cfg.enable { 16 + home.packages = with pkgs; [ 17 + devenv 18 + ]; 19 + programs.direnv = { 20 + enable = true; 21 + nix-direnv.enable = true; 22 + config.global.hide_env_diff = true; 23 + }; 24 + }; 5 25 }
+3 -1
nix/home/modules/development/nixd.nix
··· 9 9 isNixos = osConfig != {}; 10 10 in { 11 11 options.my.development.nixd = { 12 - enable = lib.mkEnableOption "nixd"; 12 + enable = 13 + lib.mkEnableOption "nixd" 14 + // {default = config.my.development.enable;}; 13 15 lsp.enable = lib.mkEnableOption "nixd LSP" // {default = cfg.enable;}; 14 16 }; 15 17
+2
nix/home/profiles/default.nix
··· 3 3 ./de 4 4 ./graphical.nix 5 5 ./hardware 6 + ./headless.nix 6 7 ./llm 7 8 ./standalone.nix 9 + ./server.nix 8 10 ]; 9 11 }
+1 -1
nix/home/profiles/graphical.nix
··· 11 11 // {default = osConfig.my.profiles.graphical or false;}; 12 12 config = lib.mkIf cfg { 13 13 my = { 14 - bars.dank-material-shell.enable = true; 15 14 gui.enable = true; 15 + gui.media.enable = true; 16 16 }; 17 17 }; 18 18 }
+17
nix/home/profiles/headless.nix
··· 1 + { 2 + config, 3 + lib, 4 + osConfig ? {}, 5 + ... 6 + }: let 7 + cfg = config.my.profiles.headless; 8 + in { 9 + options.my.profiles.headless = 10 + lib.mkEnableOption "headless profile" 11 + // {default = osConfig.my.profiles.headless or false;}; 12 + config = lib.mkIf cfg { 13 + my = { 14 + profiles.graphical = false; 15 + }; 16 + }; 17 + }
+18
nix/home/profiles/server.nix
··· 1 + { 2 + config, 3 + lib, 4 + osConfig ? {}, 5 + ... 6 + }: let 7 + cfg = config.my.profiles.server; 8 + in { 9 + options.my.profiles.server = 10 + lib.mkEnableOption "server profile" 11 + // {default = osConfig.my.profiles.server or false;}; 12 + config = lib.mkIf cfg { 13 + my = { 14 + cli.extras.enable = false; 15 + development.enable = false; 16 + }; 17 + }; 18 + }
+4
nix/nixos/configs/raspberrypi/default.nix
··· 13 13 my = { 14 14 ci.build = true; 15 15 security.u2f.relaxed = true; 16 + profiles = { 17 + headless = true; 18 + server = true; 19 + }; 16 20 }; 17 21 18 22 boot.kernelPackages = pkgs.linuxPackages_latest;
+2
nix/nixos/profiles/default.nix
··· 5 5 ./graphical.nix 6 6 ./greeter 7 7 ./hardware 8 + ./headless.nix 9 + ./server.nix 8 10 ]; 9 11 }
+15
nix/nixos/profiles/headless.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: let 6 + cfg = config.my.profiles.headless; 7 + in { 8 + options.my.profiles.headless = lib.mkEnableOption "headless profile"; 9 + config = lib.mkIf cfg { 10 + my = { 11 + security.u2f.relaxed = true; 12 + profiles.graphical = false; 13 + }; 14 + }; 15 + }
+17
nix/nixos/profiles/server.nix
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: let 6 + cfg = config.my.profiles.server; 7 + in { 8 + options.my.profiles.server = lib.mkEnableOption "server profile"; 9 + config = lib.mkIf cfg { 10 + my = { 11 + networking.tailscale.enable = true; 12 + networking.tailscale.trusted = true; 13 + }; 14 + 15 + documentation.man.generateCaches = false; 16 + }; 17 + }