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