dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
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}