dot

NixOS dotfiles
git clone https://git.echoz.io/dot.git
Log | Files | Refs

default.nix (2063B)


      1 {
      2   lib,
      3   config,
      4   pkgs,
      5 
      6   nix-flatpak,
      7 
      8   user,
      9   ...
     10 }:
     11 {
     12   imports = [
     13     nix-flatpak.nixosModules.nix-flatpak
     14   ];
     15 
     16   home-manager.sharedModules = [
     17     nix-flatpak.homeManagerModules.nix-flatpak
     18   ];
     19 
     20   services.flatpak = {
     21     enable = true;
     22     uninstallUnmanaged = true;
     23 
     24     update.auto = {
     25       enable = true;
     26       onCalendar = "daily";
     27     };
     28 
     29     overrides =
     30       let
     31         hmConfig = config.home-manager.users.${user};
     32 
     33         storePath =
     34           path:
     35           lib.pipe path [
     36             (rootPaths: pkgs.closureInfo { inherit rootPaths; })
     37             (closureInfo: builtins.readFile "${closureInfo}/store-paths")
     38             (lib.splitString "\n")
     39             (builtins.filter (p: p != ""))
     40             (map (p: "${p}:ro"))
     41           ];
     42       in
     43       {
     44         global = {
     45           Context.filesystems = [
     46             "xdg-config/MangoHud:ro"
     47             "${hmConfig.home-files}/.config/MangoHud/MangoHud.conf:ro"
     48             "${hmConfig.home-files}/.local/share/icons:ro"
     49             "${hmConfig.xdg.dataFile."icons/default/index.theme".source}:ro"
     50           ]
     51           ++ (storePath hmConfig.home.pointerCursor.package);
     52 
     53           Environment = {
     54             XCURSOR_PATH = "${hmConfig.home-files}/.local/share/icons";
     55           };
     56         };
     57 
     58         "com.adamcake.Bolt".Environment = {
     59           _JAVA_AWT_WM_NONREPARENTING = "1";
     60         };
     61 
     62         "org.signal.Signal".Environment = {
     63           SIGNAL_PASSWORD_STORE = "gnome-libsecret";
     64         };
     65       };
     66 
     67     packages = [
     68       "com.adamcake.Bolt"
     69       "com.discordapp.Discord"
     70       "com.slack.Slack"
     71       "com.spotify.Client"
     72       "com.valvesoftware.Steam"
     73       "org.freedesktop.Platform.VulkanLayer.MangoHud//25.08"
     74       "org.freedesktop.Platform.VulkanLayer.gamescope//25.08"
     75       "org.onlyoffice.desktopeditors"
     76       "org.signal.Signal"
     77       "xyz.tytanium.DoorKnocker"
     78       "com.github.Matoking.protontricks"
     79     ];
     80   };
     81 
     82   environment.persistence."/fix" = {
     83     directories = [ "/var/lib/flatpak" ];
     84     users.${user}.directories = [ ".var/app" ];
     85   };
     86 }