forked from aylac.top/nixcfg
this repo has no description
1{ 2 pkgs, 3 lib, 4 self, 5 config, 6 ... 7}: { 8 imports = [ 9 self.homeModules.default 10 self.inputs.nix-flatpak.homeManagerModules.nix-flatpak 11 self.inputs.fontix.homeModules.default 12 ]; 13 14 config = lib.mkMerge [ 15 { 16 home = { 17 packages = with pkgs; [ 18 # development 19 ffmpeg-full 20 love 21 luajit 22 nodejs 23 typescript 24 25 # applications 26 aseprite 27 rclone 28 rclone-browser 29 signal-desktop-bin 30 bitwarden-desktop 31 yt-dlp 32 obsidian 33 ]; 34 35 username = "ayla"; 36 stateVersion = "25.05"; 37 }; 38 39 programs.home-manager.enable = true; 40 xdg.enable = true; 41 42 myHome = { 43 programs = { 44 helium.enable = true; 45 fastfetch.enable = true; 46 firefox = { 47 enable = true; 48 mode = "sidebar"; 49 }; 50 git.enable = true; 51 helix.enable = true; 52 micro.enable = true; 53 mpv.enable = true; 54 ssh.enable = true; 55 zed-editor.enable = true; 56 }; 57 58 profiles = { 59 betterLocations.enable = true; 60 shell.enable = true; 61 defaultApps = { 62 enable = true; 63 forceMimeAssociations = true; 64 archiveViewer.package = pkgs.file-roller; 65 audioPlayer.package = config.programs.mpv.finalPackage; 66 videoPlayer.package = config.programs.mpv.finalPackage; 67 editor.package = pkgs.gnome-text-editor; 68 fileManager.package = pkgs.nautilus; 69 imageViewer.package = pkgs.loupe; 70 pdfViewer.package = pkgs.papers; 71 #terminal.package = pkgs.ptyxis; 72 terminalEditor.package = config.programs.helix.package; 73 webBrowser.package = config.programs.helium.package; 74 }; 75 }; 76 }; 77 78 fontix = { 79 fonts = { 80 monospace = { 81 name = "JetBrainsMono Nerd Font"; 82 package = pkgs.nerd-fonts.jetbrains-mono; 83 }; 84 85 sansSerif = { 86 name = "Roboto Flex"; 87 package = pkgs.roboto-flex; 88 }; 89 90 serif = { 91 name = "Source Serif Pro"; 92 package = pkgs.source-serif-pro; 93 }; 94 }; 95 96 sizes = { 97 applications = 10; 98 desktop = 10; 99 }; 100 101 font-packages.enable = true; 102 fontconfig.enable = true; 103 gnome.enable = lib.mkIf pkgs.stdenv.isLinux true; 104 gtk.enable = lib.mkIf pkgs.stdenv.isLinux true; 105 }; 106 107 systemd.user.startServices = true; # Needed for auto-mounting agenix secrets. 108 } 109 110 (lib.mkIf pkgs.stdenv.isLinux { 111 gtk.gtk3.bookmarks = lib.mkAfter [ 112 "file:///data/DCIM" 113 "file:///data/ Data" 114 ]; 115 116 home = { 117 homeDirectory = "/home/ayla"; 118 119 packages = with pkgs; [ 120 # libraries 121 libsecret 122 wl-clipboard 123 libnotify 124 wl-clipboard 125 libnotify 126 127 zip 128 xz 129 unzip 130 p7zip 131 ]; 132 }; 133 134 myHome = { 135 desktop = { 136 gnome.enable = true; 137 }; 138 139 programs = { 140 lutris.enable = true; 141 }; 142 }; 143 144 services.flatpak = { 145 packages = [ 146 # creative 147 "io.lmms.LMMS" 148 "org.blender.Blender" 149 "org.gimp.GIMP" 150 "org.inkscape.Inkscape" 151 "org.kde.kdenlive" 152 "org.kde.krita" 153 "com.obsproject.Studio" 154 155 # gaming 156 "com.github.Anuken.Mindustry" 157 "io.mgba.mGBA" 158 "net.kuribo64.melonDS" 159 "org.openttd.OpenTTD" 160 "org.prismlauncher.PrismLauncher" 161 162 # internet 163 "org.nicotine_plus.Nicotine" 164 "org.qbittorrent.qBittorrent" 165 166 # media 167 "com.github.iwalton3.jellyfin-media-player" 168 "org.atheme.audacious" 169 "org.freac.freac" 170 "org.musicbrainz.Picard" 171 "org.tenacityaudio.Tenacity" 172 173 # productivity 174 "com.calibre_ebook.calibre" 175 "net.ankiweb.Anki" 176 177 # social (basically useless but) 178 "im.dino.Dino" 179 "org.gnome.Fractal" 180 "org.squidowl.halloy" 181 182 # utilities 183 "com.github.tchx84.Flatseal" 184 "org.keepassxc.KeePassXC" 185 ]; 186 update.auto = { 187 enable = true; 188 onCalendar = "daily"; 189 }; 190 }; 191 }) 192 ]; 193}