this repo has no description
1
fork

Configure Feed

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

at main 109 lines 2.8 kB view raw
1{ 2 pkgs, 3 lib, 4 config, 5 ... 6}: { 7 options.cow.bean = { 8 enable = lib.mkEnableOption "Bean user presets"; 9 username = lib.mkOption { 10 type = lib.types.str; 11 description = "username"; 12 default = "bean"; 13 }; 14 name = lib.mkOption { 15 type = lib.types.str; 16 description = "Friendly name of user"; 17 default = "Ben C"; 18 }; 19 pubkey = lib.mkOption { 20 type = lib.types.nullOr lib.types.str; 21 description = "Public key to accept for bean"; 22 default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsVzdJra+x5aEuwTjL1FBOiMh9bftvs8QwsM1xyEbdd"; 23 }; 24 social = lib.mkEnableOption "Social apps"; 25 email = lib.mkOption { 26 type = lib.types.str; 27 # TODO: Tangled supports DIDs instead... 28 description = "Email to use for Git operations"; 29 default = lib.join "@bwc9876" [ 30 "ben" 31 ".dev" 32 ]; 33 }; 34 }; 35 36 config = let 37 conf = config.cow.bean; 38 in 39 lib.mkIf conf.enable { 40 # My Personal config using most of my HM modules 41 42 home = { 43 file.".ssh/authorized_keys".text = lib.mkIf (conf.pubkey != null) '' 44 ${conf.pubkey} ${conf.username} 45 ''; 46 username = lib.mkDefault conf.username; 47 homeDirectory = lib.mkDefault "/home/${conf.username}"; 48 packages = lib.mkIf conf.social [ 49 pkgs.signal-desktop 50 ]; 51 }; 52 53 programs.jujutsu.settings = { 54 user = { 55 inherit (conf) name email; 56 }; 57 git = { 58 sign-on-push = true; 59 }; 60 signing = { 61 behavior = "drop"; 62 backend = "ssh"; 63 key = lib.mkIf (conf.pubkey != null) conf.pubkey; 64 }; 65 }; 66 67 programs.git = { 68 signing = lib.mkIf (conf.pubkey != null) { 69 format = "ssh"; 70 signByDefault = true; 71 }; 72 settings = { 73 user = { 74 inherit (conf) name email; 75 signingKey = lib.mkIf (conf.pubkey != null) conf.pubkey; 76 }; 77 }; 78 }; 79 80 cow = { 81 kitty.enable = lib.mkDefault config.cow.gdi.enable; 82 libraries.enable = true; 83 imperm = { 84 keepLibraries = true; 85 keep = lib.mkIf conf.social [".config/Signal"]; 86 }; 87 pictures = { 88 enable = true; 89 pfp = ../res/pictures/cow.png; 90 bg = ../res/pictures/background.png; 91 }; 92 nushell = { 93 enable = true; 94 commandNotFound = true; 95 }; 96 neovim.enable = true; 97 starship.enable = true; 98 dev.enable = lib.mkDefault true; 99 jj.enable = true; 100 comma.enable = true; 101 cat.enable = true; 102 103 keepassxc = { 104 enable = true; 105 dbPath = lib.mkDefault "${config.xdg.userDirs.documents}/Keepass/DB/Database.kdbx"; 106 }; 107 }; 108 }; 109}