dot

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

default.nix (2238B)


      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         "com.mojang.Minecraft"."Session Bus Policy" = {
     67           "org.freedesktop.secrets" = "talk";
     68         };
     69       };
     70 
     71     packages = [
     72       "com.adamcake.Bolt"
     73       "com.discordapp.Discord"
     74       "com.github.Matoking.protontricks"
     75       "com.mojang.Minecraft"
     76       "com.slack.Slack"
     77       "com.spotify.Client"
     78       "com.valvesoftware.Steam"
     79       "io.github.lullabyX.sone"
     80       "org.freedesktop.Platform.VulkanLayer.gamescope//25.08"
     81       "org.freedesktop.Platform.VulkanLayer.MangoHud//25.08"
     82       "org.onlyoffice.desktopeditors"
     83       "org.signal.Signal"
     84       "xyz.tytanium.DoorKnocker"
     85     ];
     86   };
     87 
     88   environment.persistence."/fix" = {
     89     directories = [ "/var/lib/flatpak" ];
     90     users.${user}.directories = [ ".var/app" ];
     91   };
     92 }