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