dotfiles

My PC Dotfiles & Website

files/_module.nix (2705B)


  1{
  2  config,
  3  inputs,
  4  ...
  5}: let
  6  inherit (config) util;
  7in {
  8  flake.files = rec {
  9    # File Paths
 10    path = rec {
 11      toplevel = ./.;
 12
 13      system = "/etc/nixos";
 14      persist = "/nix/state";
 15
 16      gpg = "/etc/gpg";
 17      sops = ../secrets/secrets.yaml;
 18
 19      data = "/data";
 20      files = "${data}/files";
 21      sync = "${data}/sync";
 22
 23      cache = "maydayv7-dotfiles";
 24      flake = "github:maydayv7/dotfiles";
 25      repo = "https://github.com/maydayv7/dotfiles";
 26    };
 27
 28    # Interactive Nix Shell
 29    repl = ./repl.nix;
 30
 31    # ASCII Art
 32    ascii = util.map.files {
 33      directory = ./ascii;
 34      extension = "";
 35      recursive = true;
 36    };
 37
 38    # Directory Bookmarks
 39    bookmarks = ''
 40      file://${path.files} Files
 41      file://${path.sync} Sync
 42      file:/// Computer
 43    '';
 44
 45    # Base16 Color Schemes
 46    colors = util.map.files {
 47      directory = ./colors;
 48      extension = ".yaml";
 49    };
 50
 51    # Fastfetch
 52    fetch = builtins.readFile ./fastfetch.jsonc;
 53
 54    # 'git' Version Control
 55    git.hooks = ./git/hooks;
 56
 57    # Gitea Code Hosting
 58    gitea = util.map.files {
 59      directory = ./gitea;
 60      apply = builtins.readFile;
 61      extension = ".css";
 62    };
 63
 64    # GNOME Desktop
 65    gnome = util.map.files {
 66      directory = ./gnome;
 67      extension = ".json";
 68    };
 69
 70    # Hyprland WM
 71    hyprland = {
 72      shaders = ./hyprland/shaders;
 73      pypr = builtins.readFile ./hyprland/pypr.toml;
 74      xed = builtins.readFile ./hyprland/xed.xml;
 75    };
 76
 77    # Pictures
 78    images =
 79      {nixos = ./images/nixos.svg;}
 80      // util.map.files {
 81        directory = ./images;
 82        extension = ".png";
 83      };
 84
 85    # Password Manager
 86    keepassxc = builtins.readFile ./keepassxc.ini;
 87
 88    # Nano Text Editor
 89    nano = builtins.readFile ./nanorc;
 90
 91    # Noctalia Shell
 92    noctalia = ./noctalia;
 93
 94    # PcmanFM File Manager
 95    pcmanfm = builtins.readFile ./pcmanfm.conf;
 96
 97    # Custom Proprietary Files
 98    proprietary = inputs.proprietary.files;
 99    inherit (proprietary) wallpapers;
100
101    # Bash Scripts
102    scripts = util.map.files {
103      directory = ../scripts;
104      apply = util.build.script;
105      extension = ".sh";
106    };
107
108    # Document Templates
109    templates = ./templates;
110
111    # Visual Studio Code Editor
112    vscode = util.map.files {
113      directory = ./vscode;
114      apply = file: builtins.fromJSON (builtins.readFile file);
115      extension = ".json";
116    };
117
118    # My Personal Website
119    website = ../site;
120
121    # YouTube
122    youtube = builtins.readFile ./ytmusic.json;
123
124    # Zed Editor
125    zed = util.map.files {
126      directory = ./zed;
127      apply = file: builtins.fromJSON (builtins.readFile file);
128      extension = ".json";
129    };
130  };
131}