Compare commits

...
Sign in to create a new pull request.

384 commits
laptop ... main

Author SHA1 Message Date
15b48490ba chore(images): Swap to eog
Some checks failed
Docs / Build (push) Failing after 3m25s
2025-12-23 15:28:05 +01:00
afaba29554 feature(clam): init 2025-12-20 12:56:19 +01:00
885ceb5c94 chore(lib): Add experimental standalone home-manager option 2025-12-19 14:12:55 +01:00
512d6d2dd4 chore(inputs): Modularize modules, inputs and update instructions 2025-12-19 13:36:30 +01:00
decd0f5110 chore(cachy): Use external flake and drop chaotic-nyx 2025-12-18 22:44:46 +01:00
f360e54590 chore(fcp): Replace with fuc 2025-12-18 14:23:18 +01:00
2a245f9851 chore(basePackages): Remove preload 2025-12-03 21:34:52 +01:00
DashieTM
39e4d182ce bugfix(hyprland): Use proper flake url 2025-11-11 15:33:10 +01:00
3731bd6366 bugfix(regreet): Ensure stable compatibility 2025-11-10 11:36:12 +01:00
ac77341f62 bugfix(stylix): Ensure stable compatibility 2025-11-10 11:27:55 +01:00
0314b75a02 bugfix(logind): Ensure stable compatibility 2025-11-10 10:21:27 +01:00
1aeb5de333 chore(lutris): broken 2025-11-07 17:53:21 +01:00
78a3247fb1 chore(git): Update config 2025-11-07 17:19:29 +01:00
fe090a95bc chore(docs): Add instructions for experimental features on install 2025-11-02 21:51:56 +01:00
bafff72427 chore(docs): Update ISO instructions 2025-11-01 23:36:37 +01:00
b39db82a29 feature(config): Allow pkgs config 2025-11-01 23:24:06 +01:00
96cf0a24c1 chore(scx): Allow setting the scheduler 2025-10-11 09:29:10 +02:00
ec3d1a8339 chore(yazi): Add backspace 2025-10-10 21:24:13 +02:00
af31c8f5f0 chore(yazi): Add backspace 2025-10-10 21:08:59 +02:00
2c218306b9 chore(wm): Fix hyprland keybinds 2025-10-10 19:29:14 +02:00
DashieTM
db861d807a chore(niri): Add anti flicker for nvidia 2025-10-07 15:41:50 +02:00
DashieTM
a49055c1cc chore(ironbar): Update upower module 2025-10-07 12:49:57 +02:00
DashieTM
65e21a7d00 chore(wm): Conditionally check for args 2025-10-07 12:36:54 +02:00
6f90f67384 chore(statix): Apply fixes 2025-10-05 13:39:04 +02:00
1f367f80fa chore(documentation): Add niri 2025-10-05 13:38:39 +02:00
1857504bac feature(niri): Init module 2025-10-05 13:24:30 +02:00
9be8a82a29 chore(gaming): Add scx scheduler by default 2025-09-28 11:03:57 +02:00
8b12e79650 chore(yazi): add wl-clipboard 2025-09-23 23:46:41 +02:00
e6d19b9094 chore(hyprland): Update gestures 2025-09-22 23:14:19 +02:00
55b55f7133 chore(tools): Add nixos-compose and expose default config 2025-09-07 21:34:57 +02:00
a2adc26e58 chore(cache): Add DashVim 2025-09-07 18:26:18 +02:00
387eb01570 fix(CI): Add write permission 2025-09-07 16:59:18 +02:00
0bc2c97d69 chore(CI): Only publish iso 2025-09-07 16:39:03 +02:00
0fa45657f0
chore(CI): Run lint and format on PR (#19) 2025-09-07 14:51:52 +02:00
3eef78654a chore(linter/formatter): Add statix 2025-09-06 17:48:17 +02:00
68d16b8212 chore(linter/formatter): Apply linter and formatter 2025-09-06 16:59:51 +02:00
aefd89f89d fix(changeBrigthness): Remove superfluous param 2025-09-05 09:10:16 +02:00
aabc48511c chore(coding): Configure dotnet 2025-08-30 12:52:18 +02:00
a047d5c9e1 feature(firefox-addons): Add angular devtools 2025-08-23 19:43:15 +02:00
28d08a5c8a feature(yazi): Add yazi plugins 2025-08-23 18:21:36 +02:00
fb2507afe7 feature(xdg): Include file picker configuration 2025-08-23 16:42:12 +02:00
29b5237c28 chore(packages): Remove omnisharp 2025-08-22 19:06:27 +02:00
ba2eab4c17 chore(packages): Update deprecations 2025-08-22 18:59:37 +02:00
cc3fbdc57c chore(packages): Add winetricks 2025-08-22 18:59:37 +02:00
63aff9e90b chore(packages): Add steamtinkerlaunch 2025-08-22 18:59:37 +02:00
e73a2f0946 chore(packages): Add nexusmods app 2025-08-22 18:59:37 +02:00
68b8251e00 packages(gaming): Add protonplus 2025-07-19 23:42:38 +02:00
383d454a12 feat(oxinoti/oxidash): Adopt styling to theme 2025-06-22 23:27:47 +02:00
d286a7eac9 feat(ironbar): Add optional battery module 2025-06-22 16:47:49 +02:00
db7e1c050b feat(hyprland): Use better animations 2025-06-21 13:29:51 +02:00
5447e31d11 chore(rocm): disable icd due to broken package 2025-06-21 12:20:31 +02:00
faa8379e25 feat(oxiced): New stylix to oxiced adapter 2025-06-20 23:59:16 +02:00
d3787c546e feat(ironbar): Update config 2025-06-20 03:58:30 +02:00
114ad5b569 bugfix(hyprdock): Use Xetibo version 2025-06-17 23:50:59 +02:00
5c34749874 chore(hyprland): Remove remaining userspecific defaults 2025-06-16 23:50:33 +02:00
2316836b55 chore(gaming): Disable custom scheduler due to freezes 2025-06-16 23:35:34 +02:00
755638fe48 feat(wallpaper): Use themed nix wallpaper by default 2025-06-16 23:27:50 +02:00
01ed785bf0 Remove direct installations of pnpm and yarn 2025-06-09 20:20:02 +02:00
c31afcac98 configure xdg-desktop-portal 2025-06-09 14:33:43 +02:00
92d5e800a2 chaoticNyx: move to module 2025-05-29 21:04:23 +02:00
c62cc3a2bd oxipaste: update command 2025-05-29 19:48:19 +02:00
88c305d4f2 Add pnpm 2025-05-26 10:06:10 +02:00
f7ee4c0d5c darkreader: split into own option 2025-05-24 15:59:12 +02:00
b5fe0e39fc chore: Uncomment fixed packages 2025-05-21 20:53:45 +02:00
37a5bfee0f inputs: prefer nixpkgs packages 2025-05-19 20:47:46 +02:00
c2127e0047 fastfetch: fix config 2025-05-19 20:41:37 +02:00
78afacde79 superfreq: init 2025-05-16 21:52:32 +02:00
1cbe5d7e2a Use unstable for teams 2025-05-16 21:31:30 +02:00
5f81642dc1 hyprland: Fix gamemode service 2025-05-16 19:28:42 +02:00
1650deb7f2 ltex: remove 2025-05-14 22:27:57 +02:00
b79ba87fcb Ironbar fix 2025-05-13 19:30:36 +02:00
518b78bf96 gamescope: init 2025-05-11 22:08:45 +02:00
1ab37deac7 hyprland: remove old wlr atomic env 2025-05-11 21:45:12 +02:00
9cc9955425 chore: cleanup all files 2025-05-11 19:45:25 +02:00
f4e47cbf97 chore: snake_case to camelCase 2025-05-11 13:13:10 +02:00
2b704cc5e7 browser: fixup firefox forks 2025-05-11 13:06:37 +02:00
ea385722b0 Gaming: direct_scanout in Hyprland 2025-05-11 11:33:50 +02:00
79a66b1f84 cache: adjust to trusted 2025-05-10 22:09:54 +02:00
7b3ad8a182 onedrive: init 2025-05-10 14:05:03 +02:00
11a41563c8 general: Remove all default dashie references 2025-05-10 14:00:00 +02:00
4e7aa1e0f0 conf: default username to DashNix 2025-05-10 13:57:09 +02:00
62ce845f71 Nextcloud: remove default username 2025-05-10 13:54:39 +02:00
cee415973f Add gh 2025-05-10 13:54:39 +02:00
1cb30eadca Add penpot (#17)
* basePackages use mkDashDefault
* Add penpot
2025-05-10 13:54:39 +02:00
f699577158 Add fancontrol (#16) 2025-05-10 13:54:39 +02:00
786217106b Add lib.mkDefault for non configurable defaults (#15) 2025-05-10 13:54:39 +02:00
207b5165a3 Hyprland hardware cursor fix 2025-05-07 13:01:59 +02:00
4d5638baca Add SystemLocalTime for duabloot 2025-05-06 21:50:00 +02:00
681877654d Fix zen config 2025-05-06 19:52:15 +02:00
711c2a128f
Add custom fetch (#13)
* Remove vesktop electron override
* Add custom fetch
2025-05-06 19:23:00 +02:00
e4d521e10f Add bitlocker fix to lanzaboote 2025-05-05 17:25:26 +02:00
62ab685cd4
Remove vesktop electron override (#12) 2025-05-02 12:28:22 +02:00
45954db37a
Drive encryption (#11)
- Add drive encryption with luks
- Refactor Hyprland binds
- Refactor cache
- Minor spelling fixes
- Add firefox stylix profiles
2025-05-02 12:19:48 +02:00
32f0512ef5
Secure boot and wsl (#10)
- Add secure boot via lanzaboote
- Add wsl flag
- Remove flatpak flake
2025-05-02 10:16:15 +02:00
8cf9a40763
Fix oxirun (#9) 2025-04-28 22:48:29 +02:00
ed40157986
nh update FLAKE env var (#8) 2025-04-28 22:40:33 +02:00
3a0b6081c7
Add oxirun (#7) 2025-04-28 10:59:49 +02:00
145ca4d804
Replace DashieTM with Xetibo as new owner (#6)
* Pin and Park cores

* Replace DashieTM with Xetibo as new owner
2025-04-27 17:03:19 +02:00
3527bf2d82 Pin and Park cores 2025-04-13 19:13:46 +02:00
ac6cf62454 Use unstable for adwaita fonts 2025-04-11 09:59:30 +02:00
46f4507034 Update hyprland windowrules 2025-04-11 09:53:00 +02:00
867e56cdf1 Add orca slicer 2025-04-11 09:53:00 +02:00
41b539eea8 Theme ironbar 2025-03-17 21:15:57 +01:00
16e3985e87 Fix streamcontroller 2025-03-17 20:44:16 +01:00
b461a27228 Fix streamcontroller 2025-03-16 18:04:59 +01:00
7c70384da2 Rework docs and add streamcontroller 2025-03-15 17:52:39 +01:00
5443370f16 Fix brightness script 2025-03-15 15:45:11 +01:00
4f04b5d683 Add zen extension config and fix zen policy config 2025-03-14 23:24:15 +01:00
58c42ed7d8 Add librewolf module configuration 2025-03-13 12:47:01 +01:00
4ca1688434 Add userContent and userChrome to firefox/zen/librewolf 2025-03-12 22:07:48 +01:00
1886700857 Add zen and librewolf configuration 2025-03-12 12:59:59 +01:00
dc83628ac9 Update deps 2025-03-10 09:18:02 +01:00
24acd1b1a3 Include fsautocomplete again 2025-03-03 08:01:08 +01:00
4c5ebe9691 Update iso and installation instructions 2025-03-02 17:10:13 +01:00
bf3230ad43 Fix documentation generation 2025-03-02 16:31:25 +01:00
54174d9a95 Disable ANR for Hyprland (broken) 2025-03-02 16:10:52 +01:00
ae8fb25102 Add disko variant for drive configuration 2025-03-02 15:39:46 +01:00
547ea3e7bb Update Readme 2025-02-28 17:42:37 +01:00
b596b0e044 Fix regreet docs 2025-02-28 17:33:39 +01:00
94dd7b8b48 Fix cpu governor for gamemode 2025-02-27 19:24:00 +01:00
MathewHDYT
5c967ddd0d
Readd firefox extensions via NUR (#5) 2025-02-26 10:55:22 +01:00
8c19df773b Make systemdboot optional 2025-02-25 23:03:45 +01:00
4afd999894 Add initial sway module 2025-02-25 23:03:43 +01:00
c2ca2e5b71 Add initial sway module 2025-02-25 21:45:53 +01:00
d88a6c3e4d Add wine64 2025-02-23 16:01:18 +01:00
c021794165 Change regreet session dir 2025-02-23 13:30:56 +01:00
7e54da92b9 Use displaySessions for display manager 2025-02-23 12:59:00 +01:00
6c1aff4c0e Use cachyOS kernel for gaming 2025-02-22 13:41:00 +01:00
f9ddae6478 Add opencl to amd 2025-02-22 13:41:00 +01:00
1273cd7361 add lorri 2025-02-22 13:41:00 +01:00
88c57dac72 Update logo 2025-02-16 22:23:55 +01:00
e214c4eb70 Use stable chromium for vesktop 2025-02-16 00:32:42 +01:00
693d4e3c70 Use alejandra formatter / fix warnings 2025-02-15 16:23:22 +01:00
c5b1041bbb Update nixpkgs 2025-02-09 15:38:29 +01:00
5173a90965 Update to adwaita fonts 2025-02-09 15:35:52 +01:00
49a5671bf3 Allow broken for now 2025-02-08 20:14:28 +01:00
c256600c7e Don't override DashVim inputs 2025-02-08 20:05:19 +01:00
dd57f95440 Force breeze 2025-02-08 19:20:33 +01:00
6d9724f0f4 Add logo 2025-02-06 20:39:29 +01:00
57d32a4ccd remove nixpkgs config in homemanager 2025-02-06 20:25:34 +01:00
4c93565c74 remove globalpkgs 2025-02-06 20:25:01 +01:00
8e2f1e3f77 Remove unfree config from homemanager 2025-01-18 20:47:20 +01:00
729d9f7cac Add supersonic 2025-01-02 01:59:54 +01:00
cd783dfe71 virt update 2025-01-01 17:10:10 +01:00
de61f5becd Add virtmanager 2025-01-01 16:53:09 +01:00
b5f4e15db8 Update zen 2024-12-31 20:39:01 +01:00
029a7b86d7 temp disable heroic 2024-12-31 15:16:43 +01:00
fbf9612ad4 Remove gconf 2024-12-31 14:56:46 +01:00
fd8fb04fde Add mangohud 2024-12-31 14:33:02 +01:00
dfa739e8a0 Document new flags 2024-12-22 19:45:10 +01:00
82161469a0 Invert package override 2024-12-22 19:33:46 +01:00
dacf800363 Remove nur 2024-12-22 19:31:20 +01:00
8551193dd2 temporary nextcloud fix 2024-12-22 16:35:42 +01:00
8ffab823ca Add plymouth to modules 2024-12-22 16:01:24 +01:00
86238b157c Add jitsi to allowed pkgs 2024-12-22 15:19:17 +01:00
9cef7c614b Change to LGPL 2024-12-22 14:13:20 +01:00
01bbcad7fa Allow pkg overrides 2024-12-22 13:49:01 +01:00
b0054a3fe1 Update gnome services 2024-12-18 23:31:03 +01:00
37606eae74 Add dotnet wrapped to allowed packages 2024-12-13 10:46:28 +01:00
5b8c873527 Update ironbar 2024-12-05 22:57:25 +01:00
5556e410ae Add caches 2024-12-03 23:55:39 +01:00
8e221806d3 Add oxipaste cache 2024-12-03 21:05:39 +01:00
e8ace4a2f3 Add gleam 2024-12-03 21:03:01 +01:00
c11addd4cb Update .net 2024-12-02 11:57:25 +01:00
639195dc43 Update font 2024-12-02 09:51:24 +01:00
5f60c3ba91 Change default cursor to catppuccin 2024-11-30 13:32:15 +01:00
2073868189 Update home-manager and nixos versions 2024-11-27 19:07:52 +01:00
e3a8bbe853 Update kitty config 2024-11-17 14:23:24 +01:00
bcc3ba0aee Add additional git config 2024-11-17 13:49:28 +01:00
05e3b8b222 Temporarily remove neovide 2024-11-17 13:41:10 +01:00
10e362af18 Add credits 2024-11-16 16:49:26 +01:00
5ada5903ef Yazi alias fix 2024-11-11 15:51:39 +01:00
eb1cb1f297 Include Hyprspace as a potential plugin 2024-11-09 23:59:21 +01:00
a138b332a3 Update update command (lel) 2024-11-09 23:25:49 +01:00
7cba9d23a1 Fix regreet docs 2024-11-09 18:41:21 +01:00
35b2ba75b6 Fix yazi config 2024-11-09 16:19:50 +01:00
MathewHDYT
0389558529
Include customSettings option to configure regreet (#4)
* Attempt to add regrett configuration
* Prevent double install of regreet
* Install regreet over program enable
* Force regreet settings
* Revert regreet over programs enable.
* Move regreet config into homemanger.
2024-11-08 19:41:51 +01:00
0c1291d3fd Update docker/podman config 2024-11-02 12:51:50 +01:00
d703b4dec0 Update qt5ct/kdeconnect 2024-10-25 11:36:12 +02:00
f1a93f1cf7 Remove lock 2024-10-19 14:48:26 +02:00
314a067795 Update Readme 2024-09-29 12:51:38 +02:00
b72d409a5a Update browsers 2024-09-29 12:48:39 +02:00
10adafe703 Ironbar fix 2024-09-26 10:11:51 +02:00
9bc0491caa Include new oxipaste 2024-09-24 18:12:39 +02:00
531e37fbe3 KDE specific themeing because fun 2024-09-21 14:11:35 +02:00
f2055e0d10 Rename string type to str 2024-09-15 22:05:26 +02:00
8ba687edc1 Sops: Add more configuration 2024-09-15 00:23:02 +02:00
3adbcfab59 Add vscodium config 2024-09-13 17:56:22 +02:00
69fb898087 Add mime type module and refactor options 2024-09-09 23:11:36 +02:00
3a2266d44f Use nh 2024-09-08 21:34:28 +02:00
6c57ca5b72 Make catppuccin default 2024-09-08 21:20:31 +02:00
9535108bb7 Simplify build systems 2024-09-08 19:29:36 +02:00
b994e4698c Adjust hyprpaper documentation 2024-09-08 18:48:22 +02:00
b83ccc7bfe Refactor additional packages 2024-09-08 18:27:42 +02:00
2e90a3b7a1 Add additional Kernel params 2024-09-08 15:38:30 +02:00
1ec22067ff Add inline doc for monitor mode 2024-09-08 15:27:45 +02:00
2c45bcf6ad Use defaultMonitor instead of monitor 2024-09-08 15:24:44 +02:00
3ac742cc45 Add anyrun config 2024-09-08 14:44:27 +02:00
a3d3b15507 Move gnome-settings to top level 2024-09-08 14:09:35 +02:00
bac1d0f3f9 Add breeze for qt6 2024-09-08 13:47:55 +02:00
16732a903c Add qt5ct to every variable placement 2024-09-08 13:19:47 +02:00
3d5fd504a9 Add result to gitignore 2024-09-08 13:18:34 +02:00
cbaa111fbd Add qt5ct to system and greetd 2024-09-04 09:49:32 +02:00
41001a9122 Hyprland move active border 2024-09-01 11:58:17 +02:00
a5eebb6030 Remove force on active border 2024-09-01 11:14:08 +02:00
07a4bd3a96 Use optionalAttrs in hyprland.nix 2024-09-01 10:33:20 +02:00
015eb32fcf Fix neovide config file 2024-09-01 10:27:17 +02:00
9fecf0ec96 Update documentation for ISO 2024-09-01 02:18:09 +02:00
74e9eb2c62 Configure neovide 2024-09-01 02:04:31 +02:00
34d6f22b61 Add iso 2024-08-31 14:29:16 +02:00
4123f8ccac Add gdm gnome sddm kde 2024-08-30 18:16:42 +02:00
4cd9e462d8 Split documentation into each file 2024-08-28 22:04:46 +02:00
dfc4b5cf94 Solve doc kernel issue 2024-08-28 00:59:01 +02:00
a5da4f286f Move Readme to link 2024-08-28 00:14:29 +02:00
cc67ca420c Add docs 2024-08-28 00:07:27 +02:00
2195c7a850 Add docsga 2024-08-27 23:51:52 +02:00
a50f970eda Refactor nautilus packages 2024-08-27 23:11:39 +02:00
12ec2b44b0 Document module overriding 2024-08-27 22:55:22 +02:00
574eeb0b07 Add additional Module possibility 2024-08-27 22:51:13 +02:00
da8ae20b55 Modularize nixos and home manager modules 2024-08-27 22:47:48 +02:00
e3619d6c94 Introduce more options to configure individual modules 2024-08-25 23:47:33 +02:00
351584ecb4 Add more kitty configuration values 2024-08-25 21:48:46 +02:00
5d5abbc1a8 Change to optional 2024-08-25 20:12:05 +02:00
d3328bc705 Add toString for cursor sizes 2024-08-25 19:57:32 +02:00
b748d26d4f Split home and system state version 2024-08-25 19:54:01 +02:00
218b7dc4ca Adjust base and home packages 2024-08-25 19:51:45 +02:00
a90a9c3a8e Format with nixfmt-rfc 2024-08-25 19:10:41 +02:00
8c9f699269 Add inline documentation for lib 2024-08-25 18:16:09 +02:00
c4f6dae54b Add inline documentation for lib 2024-08-25 17:50:43 +02:00
580b903cf5 Remove default secrets 2024-08-25 16:42:13 +02:00
785af695df Modularize secrets 2024-08-25 14:38:35 +02:00
a1b70baa78 Move secrets to individual configs 2024-08-25 14:35:32 +02:00
bee8a21990 Fix scripts escaping 2024-08-25 14:22:23 +02:00
e8d4d4e861 Update Readme with scripts 2024-08-25 14:14:41 +02:00
809b60e3ce Change directory example 2024-08-25 14:13:57 +02:00
5a2da13189 Add example flake 2024-08-25 14:12:00 +02:00
5bcd222dc1 Fix Readme formatting 2024-08-25 14:10:49 +02:00
225da437c5 Modularize scripts 2024-08-25 14:09:28 +02:00
96b410a358 Hyprland nvidia specific configs 2024-08-25 12:01:27 +02:00
90dd724794 Hyprland make tearing disabled by default 2024-08-25 01:55:08 +02:00
d7cb5b90f4 test 2024-08-25 01:18:49 +02:00
c429e7a201 test 2024-08-25 00:58:54 +02:00
500c7050c3 Use mkdefault for username 2024-08-25 00:55:55 +02:00
d922e44515 Add example config 2024-08-25 00:00:10 +02:00
60c0c5e888 Modularize ncspot 2024-08-24 23:45:08 +02:00
bf465d56fa fix fish 2024-08-24 23:37:08 +02:00
caafd3e3c1 Remove custom json files 2024-08-24 22:46:12 +02:00
d207826769 Modularize individual configs 2024-08-24 22:43:03 +02:00
903088cf12 Update url in example 2024-08-24 22:37:11 +02:00
c7a26746e1 Modularize individual configs 2024-08-24 22:21:50 +02:00
fbd32d90f5 Add system configuration documentation 2024-08-24 18:19:17 +02:00
e0be13c2cb Rename to DashNix 2024-08-24 18:06:48 +02:00
effb6e6397 extract hardware config 2024-08-24 18:05:37 +02:00
252fcce589 Modularize drives further 2024-08-24 14:41:42 +02:00
c49948ad7b Use beta nvidia drivers 2024-08-24 14:00:47 +02:00
54df643d80 Move v4l2loopback to teams 2024-08-24 13:55:33 +02:00
c73cb37278 Modularize teams sops yazi 2024-08-24 13:25:08 +02:00
7730cbef59 Change starship prompt, update inputs, add nvidia module 2024-08-19 20:52:00 +02:00
bd5a2e3ec5 Add new streamdeck config 2024-08-17 16:53:33 +02:00
b5a0dee3e8 merge 2024-08-17 16:50:04 +02:00
220cea894b Hyprland: remove direct scanout 2024-08-09 00:36:51 +02:00
c097919e0b Update hyprland 2024-08-09 00:36:01 +02:00
3303a3f2eb Add firefox documentation 2024-08-07 14:14:59 +02:00
a608ed5b9f Modularize firefox 2024-08-07 14:13:46 +02:00
c2c8e002b9 Move pws 2024-08-06 14:29:58 +02:00
c88df9b954 Move gaming remaining options 2024-08-06 13:40:07 +02:00
b63dafb8a6 Enable keepassxc by default 2024-08-06 12:53:52 +02:00
bf736f6af0 Add readme entries for new modules 2024-08-06 12:45:11 +02:00
44ac35d6e2 Modularize programs and add starship 2024-08-06 12:40:16 +02:00
1a0064894d Change to starship 2024-08-06 04:15:00 +02:00
9ded78a148 Add starship 2024-08-05 23:29:49 +02:00
494131ece5 Add deletion policy for older nix generations 2024-08-05 00:03:32 +02:00
c8a6e6b420 Add pw_sync to overheating and marmo 2024-08-04 23:15:42 +02:00
35cfaf6bac Update firefox config 2024-08-04 20:03:02 +02:00
ee9b48c5b1 Remove unnecessary neovim installation from server 2024-08-04 17:21:20 +02:00
0f02a1944b Fix DashVim on server 2024-08-04 17:17:12 +02:00
78023a648c Configure flake/command for server 2024-08-04 16:34:40 +02:00
3081546a58 Configure access token for server 2024-08-04 16:33:48 +02:00
eeeb2bd9ed Configure DashVim for server 2024-08-04 16:32:01 +02:00
a5de016eed Fix server config path 2024-08-04 15:50:45 +02:00
47d5758cca Add mautrix-signal notice 2024-08-04 15:14:46 +02:00
14b1bb6b0d Fix server config 2024-08-04 15:12:59 +02:00
75292c920c Add sops modules to server 2024-08-04 14:29:34 +02:00
8ee4ea7fe1 Add server configuration 2024-08-04 13:59:13 +02:00
ee2b51bbc1 Modularize nextcloud and remove need for GUI application 2024-08-04 03:48:07 +02:00
8d35835f89 Fixup modules 2024-08-03 23:16:09 +02:00
75fa39fe59 Add hyprland readme 2024-08-03 19:09:20 +02:00
bab352d00e Modularize Hyprland configuration 2024-08-03 19:06:59 +02:00
25eac3559f Readd qmk configuration 2024-08-03 18:12:01 +02:00
51d2c2aa7c Modularize nixos and home-manager packages 2024-08-03 18:08:22 +02:00
b0979afa53 Add more configuration options 2024-08-02 03:06:52 +02:00
9ac5b25036 Modularize hardware config and remove specific nix folder 2024-07-20 01:56:54 +02:00
a5042bb645 Add license 2024-07-17 23:37:02 +02:00
c1cb314be1 Remove nvim-lua 2024-07-17 23:33:52 +02:00
759bad45a6 Update Readme 2024-07-17 23:32:43 +02:00
dba12b15b8 Add readme 2024-07-17 23:32:11 +02:00
062d5701cb Set empty background as default 2024-07-17 23:04:51 +02:00
e8fa641a15 Move to DashVim 2024-07-15 01:57:04 +02:00
cd0bfe5cd5 Update lazyvim 2024-07-12 02:34:45 +02:00
fc11a4ed7c LSP: move to nixd 2024-07-11 22:39:23 +02:00
9109a98e9b themes: Allow yaml paths 2024-07-11 22:26:57 +02:00
8e9ee08e09 Modularize hardware config 2024-07-11 18:20:05 +02:00
e5e23373da Make theming modular 2024-07-11 15:40:58 +02:00
3cd2f6fb68 Update lock 2024-07-11 01:34:12 +02:00
27511925f3 merge 2024-07-11 01:33:07 +02:00
755392bdb8 update lock 2024-07-10 21:50:53 +02:00
7a4e46e04f modularize config 2024-07-10 17:03:31 +02:00
09c4625fbb add back lock... 2024-07-06 23:12:12 +02:00
bd5b5e11ff remove lock 2024-07-06 23:02:27 +02:00
791e2a69dd merge 2024-07-06 22:58:41 +02:00
f5bc289708 merge 2nd pc 2024-07-03 21:27:12 +02:00
7e65c8e62a packages: Add polylux and pdfpc 2024-07-01 16:29:51 +02:00
b9c687d62e nix: use plugin for reset 2024-05-30 21:34:24 +02:00
a8377b6dcc mdformat: add --number -> 1,2,3,4 to 1,1,1,1 is a good idea right? 2024-05-28 13:48:51 +02:00
5ed1986caa hyprlock: fix config 2024-05-28 13:14:48 +02:00
d379c60bdf update lock 2024-05-28 12:29:16 +02:00
608a8f682c merge 2024-05-27 09:01:24 +02:00
c7f3f8ddfa lsp: Add fsharp and haskell 2024-05-26 19:09:08 +02:00
76eb550425 hyprland: move back to git 2024-05-26 09:16:09 +02:00
a5226f566e firefox: add addons per nix 2024-05-25 14:26:39 +02:00
1f76c7359e nvim: include more formatters and lsps 2024-05-22 09:21:35 +02:00
393a5f9037 nvim: include more formatters and lsps 2024-05-22 02:48:39 +02:00
61e08fe876 overheating: Add binary firmware for speakers 2024-05-21 19:19:35 +02:00
e536387ffe overheating: add patched ssdt 2024-05-21 18:23:59 +02:00
5c0e020043 chore: downgrade rust because ldd funny.... 2024-05-20 22:10:13 +02:00
a5cc3a6056 chore: update penguin spam macro 2024-05-20 21:36:58 +02:00
cd44f31f45 chore: Move several programs to flakes 2024-05-20 21:31:23 +02:00
d79f636669 overheating: set scale of login screen to 2.0 2024-05-17 12:54:52 +02:00
fcf4fc3064 programs: add sops 2024-05-14 20:38:33 +02:00
ac51db1c7e code: Add bear 2024-05-14 11:47:29 +02:00
61b7f6965b
Merge pull request #3 from DashieTM/nix
Nix
2024-05-12 23:29:50 +02:00
4d957a817a greetd: use proper package for greetd 2024-05-12 23:29:35 +02:00
52d35e019d gamemode: Add configuration for gpu card 2024-05-08 17:19:40 +02:00
45f6ade78c marmo: add config 2024-05-08 16:08:46 +02:00
7040d943cb chore: Add docker 2024-05-07 12:27:23 +02:00
319d99b6e0 reset: update version 2024-05-06 20:54:33 +02:00
2832f86a7e temporary: disable plugins for hyprland 2024-05-06 11:23:35 +02:00
49ece00cff delete flake.lock 2024-05-05 16:05:58 +02:00
dcfb38839d change go path, ffs 2024-05-03 22:47:20 +02:00
cf63b635ac packages: Add xone 2024-04-29 14:26:02 +02:00
fe167fd072 ironbar: Add dynamic battery 2024-04-24 11:11:05 +02:00
a0b3705c1d
Merge pull request #2 from DashieTM/nix
Nix
2024-04-22 20:38:46 +02:00
84356a8885 chore: Add various programs 2024-04-22 20:36:33 +02:00
9a4578cedf feat: Add seahorse 2024-04-19 18:05:03 +02:00
4cfd212947 fix: Use wrapGAppsHook4 to actually get icons in the applications 2024-04-19 17:50:12 +02:00
57cacdb1c9 chore: format 2024-04-18 21:10:51 +02:00
84da634f57 fix: Move all oxi programs to regular program usage 2024-04-18 18:15:51 +02:00
e2f8b16c87 chore: move fix to override 2024-04-18 18:10:09 +02:00
6ddb5d9e6b chore: oxi programs to be compiled 2024-04-18 18:08:46 +02:00
912751b0df chore: Further modularize flake 2024-04-18 03:41:30 +02:00
c3706f3d36 fish: Change aliases to abbr 2024-04-17 18:34:34 +02:00
722600a10b chore: Fix spaceship config 2024-04-17 14:00:35 +02:00
98da22c22f chore: Fix spaceship config 2024-04-17 13:56:19 +02:00
850454a6c6 chore: work on modularization of config 2024-04-17 13:00:14 +02:00
ab897f750d chore: Add first login pw 2024-04-16 20:15:54 +02:00
48d8933de5 chore: Improve initial setup 2024-04-16 16:18:30 +02:00
3e6e26b199 chore: Add setup script for initial formatting 2024-04-16 15:59:40 +02:00
4986770f16 chore: Prepare for multi configuration and cleanup 2024-04-16 13:26:52 +02:00
81134126a9 chore: reenable gtk4 folder because of flatpak bug 2024-04-16 12:36:47 +02:00
c3d94a49eb chore: Remove all configuration other than nix 2024-04-16 02:02:19 +02:00
9fd25e0ef7 chore: remove env from git 2024-04-16 01:45:06 +02:00
c56bd76e56 chore: remove unused program 2024-04-16 01:43:33 +02:00
f4e8c1725a wip: move various programs to nix 2024-04-16 01:41:58 +02:00
17a2a04b96 chore: Remove unused files 2024-04-15 18:54:21 +02:00
e50591b2ec initial commit 2024-04-15 18:52:30 +02:00
6671b54dd2 wip: prepare for nix 2024-04-14 14:43:43 +02:00
79ed239d07 feat: Add codeFig snippet 2024-03-26 12:34:10 +01:00
6a30594699 chore: Update packages 2024-03-12 02:47:15 +01:00
4bb15d851e feat: Improve yazi 2024-03-12 02:46:53 +01:00
17b2b630af chore: Remove gtk server 2024-03-09 22:08:52 +01:00
8ed7578bfa no comment :) 2024-02-24 22:47:05 +01:00
cba899aa1c fix: remove paru sudo 2024-02-23 17:27:15 +01:00
6b4bea4217 chore: Add gamemode config 2024-02-20 10:50:47 +01:00
15da5c8116 chore: Update path 2024-02-17 15:40:35 +01:00
bca72f7f2c chore: Update path 2024-02-17 15:40:16 +01:00
17fcac861e feat: Add css style gap configuration 2024-02-16 11:42:10 +01:00
a3a7788c66 fix oopsie in keybinds 2024-02-11 18:08:28 +01:00
511db23388 chore: Don't call paru with sudo 2024-02-11 17:41:35 +01:00
e5a156b404 chore: Add ironbar to setup 2024-02-11 17:36:15 +01:00
1c6a9f49e7 chore: Add anyrun to binaries 2024-02-11 17:24:49 +01:00
48d34ec7af chore: Move dotfiles part to different script 2024-02-11 16:39:23 +01:00
07f51dd3fb chore: Add greetd to setup 2024-02-11 15:54:19 +01:00
7884a29617 chore: Update setup.sh 2024-02-11 15:53:22 +01:00
45ca8d534f add package doc 2024-01-09 22:48:18 +01:00
302 changed files with 13695 additions and 11953 deletions

34
.github/workflows/docs.yaml vendored Normal file
View file

@ -0,0 +1,34 @@
# by https://github.com/danth/stylix/blob/master/.github/workflows/docs.yml
name: Docs
on:
push:
branches:
- main
jobs:
build:
name: Build
permissions:
contents: read
runs-on: nixos-latest
steps:
- name: Nix Config
run: |
mkdir -p $HOME/.config
mkdir -p $HOME/.config/nix
echo experimental-features = nix-command flakes pipe-operators >> $HOME/.config/nix/nix.conf
echo access-tokens = github.com=${{ secrets.GITHUBTOKEN }} >> $HOME/.config/nix/nix.conf
nix profile install nixpkgs#nodejs
- name: Build docs
run: nix -L build git+https://git.dashie.org/${{ forgejo.repository }}.git?rev=${{ forgejo.sha }}#docs --no-write-lock-file
- name: Prepare docs for upload
run: cp -r --dereference --no-preserve=mode,ownership result/ public/
# - name: Upload artifact
# uses: https://data.forgejo.org/forgejo/upload-artifact@v4
# with:
# path: public/
- name: Publish Page
uses: https://data.forgejo.org/actions/git-pages@v2
with:
site: https://username.pages.dashie.org/reponame/
token: ${{ forge.token }}
source: public/

35
.github/workflows/pr.yaml vendored Normal file
View file

@ -0,0 +1,35 @@
# inspired by https://github.com/danth/stylix/blob/master/.github/workflows/docs.yml
name: PR check
on:
pull_request:
branches: ["main"]
jobs:
build:
name: check
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
extra-conf: |
extra-experimental-features = nix-command flakes pipe-operators
- name: Set up cache
uses: DeterminateSystems/magic-nix-cache-action@main
- name: action
uses: cachix/install-nix-action@v25
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: cache
uses: cachix/cachix-action@v16
with:
name: dashnix
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Linter check
run: nix run --no-write-lock-file github:${{ github.repository }}/${{ github.sha }}#lint -- check
- name: Format check
run: nix run --no-write-lock-file github:${{ github.repository }}/${{ github.sha }}#format -- --check .
- name: Build docs
run: nix -L build github:${{ github.repository }}/${{ github.sha }}#docs --no-write-lock-file

29
.github/workflows/release.yaml vendored Normal file
View file

@ -0,0 +1,29 @@
# by https://github.com/danth/stylix/blob/master/.github/workflows/docs.yml
name: Release
on:
release:
types: [created]
jobs:
build:
name: Release
permissions: write-all
runs-on: ubuntu-latest
steps:
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
extra-conf: |
extra-experimental-features = nix-command flakes pipe-operators
- name: Set up cache
uses: DeterminateSystems/magic-nix-cache-action@main
- name: Build ISO
run: nix build github:${{ github.repository }}/${{ github.sha }}#iso --no-write-lock-file
- name: Prepare ISO for upload
run: |
cp -r --dereference --no-preserve=mode,ownership result/iso/DashNix.iso DashNix.iso
- name: upload ISO
uses: softprops/action-gh-release@v1
with:
files: |
DashNix.iso

14
.gitignore vendored
View file

@ -1,11 +1,3 @@
/nvim/plugged/* result/*
gtk-3.0/bookmarks result
gtk-3.0/servers flake.lock
/fish/fish_variables
fish/fish_variables
fish/*.tmp.*
copyq/copyq.lock
copyq/copyq_geometry.*
copyq/copyq_tab*
nvim/lazy-lock.json
ncspot/*.cbor

162
.zshrc
View file

@ -1,162 +0,0 @@
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# The following lines were added by compinstall
zstyle :compinstall filename '$HOME/.zshrc'
autoload -Uz compinit
compinit
##########
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
# End of lines configured by zsh-newuser-install
#
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
export PATH=$PATH:~/.local/bin
export PATH=$PATH:~/.cargo/bin
export GPG_TTY=$TTY
export TEXMFHOME=$HOME/.texmf
export MANGOHUD_CONFIG=position=top-right,font_scale=0.7,round_corners=10.0
export MOZ_ENABLE_WAYLAND=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export VISUAL=nvim;
export EDITOR=nvim;
alias sudo='sudo '
alias ls='lsd'
alias :q='exit'
alias gh='git push origin'
alias gl='git pull origin'
alias gm='git commit -m'
alias ga="git add -A"
alias g+='bear -- g++ -Wextra -Werror -std=c++20'
alias s="kitty +kitten ssh"
# zoxide
## =============================================================================
#
# Utility functions for zoxide.
#
# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
function __zoxide_pwd() {
\builtin pwd -L
}
# cd + custom logic based on the value of _ZO_ECHO.
function __zoxide_cd() {
# shellcheck disable=SC2164
\builtin cd -- "$@" >/dev/null
}
# =============================================================================
#
# Hook configuration for zoxide.
#
# Hook to add new entries to the database.
function __zoxide_hook() {
# shellcheck disable=SC2312
\command zoxide add -- "$(__zoxide_pwd)"
}
# Initialize hook.
# shellcheck disable=SC2154
if [[ ${precmd_functions[(Ie)__zoxide_hook]:-} -eq 0 ]] && [[ ${chpwd_functions[(Ie)__zoxide_hook]:-} -eq 0 ]]; then
chpwd_functions+=(__zoxide_hook)
fi
# =============================================================================
#
# When using zoxide with --no-cmd, alias these internal functions as desired.
#
__zoxide_z_prefix='z#'
# Jump to a directory using only keywords.
function __zoxide_z() {
# shellcheck disable=SC2199
if [[ "$#" -eq 0 ]]; then
__zoxide_cd ~
elif [[ "$#" -eq 1 ]] && { [[ -d "$1" ]] || [[ "$1" = '-' ]] || [[ "$1" =~ ^[-+][0-9]$ ]]; }; then
__zoxide_cd "$1"
elif [[ "$@[-1]" == "${__zoxide_z_prefix}"* ]]; then
# shellcheck disable=SC2124
\builtin local result="${@[-1]}"
__zoxide_cd "${result:${#__zoxide_z_prefix}}"
else
\builtin local result
# shellcheck disable=SC2312
result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -- "$@")" &&
__zoxide_cd "${result}"
fi
}
# Jump to a directory using interactive search.
function __zoxide_zi() {
\builtin local result
result="$(\command zoxide query -i -- "$@")" && __zoxide_cd "${result}"
}
# =============================================================================
#
# Commands for zoxide. Disable these using --no-cmd.
#
\builtin unalias z &>/dev/null || \builtin true
function z() {
__zoxide_z "$@"
}
\builtin unalias zi &>/dev/null || \builtin true
function zi() {
__zoxide_zi "$@"
}
if [[ -o zle ]]; then
function __zoxide_z_complete() {
# Only show completions when the cursor is at the end of the line.
# shellcheck disable=SC2154
[[ "${#words[@]}" -eq "${CURRENT}" ]] || return
if [[ "${#words[@]}" -eq 2 ]]; then
_files -/
elif [[ "${words[-1]}" == '' ]]; then
\builtin local result
# shellcheck disable=SC2086,SC2312
if result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -i -- ${words[2,-1]})"; then
__zoxide_result="${result}"
else
__zoxide_result=''
fi
\builtin printf '\e[5n'
fi
}
function __zoxide_z_complete_helper() {
\builtin local result="${__zoxide_z_prefix}${__zoxide_result}"
# shellcheck disable=SC2296
[[ -n "${__zoxide_result}" ]] && LBUFFER="${LBUFFER}${(q-)result}"
\builtin zle reset-prompt
}
\builtin zle -N __zoxide_z_complete_helper
\builtin bindkey "\e[0n" __zoxide_z_complete_helper
if [[ "${+functions[compdef]}" -ne 0 ]]; then
\compdef -d z
\compdef -d zi
\compdef __zoxide_z_complete z
fi
fi
# =============================================================================

841
LICENSE Normal file
View file

@ -0,0 +1,841 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View file

@ -1,6 +0,0 @@
# dotFiles
## General
Personal Dotfiles with many being combined together to get this, and other things coming from myself directly.
## [Keymaps](nvim/README.md)

1
README.md Symbolic link
View file

@ -0,0 +1 @@
docs/src/README.md

View file

@ -1,35 +0,0 @@
Config(
// `width` and `vertical_offset` use an enum for the value it can be either:
// Absolute(n): The absolute value in pixels
// Fraction(n): A fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window respectively
// How wide the input box and results are.
width: Absolute(800),
// Where Anyrun is located on the screen: Top, Center
position: Center,
// How much the runner is shifted vertically
vertical_offset: Absolute(0),
// Hide match and plugin info icons
hide_icons: false,
// ignore exclusive zones, f.e. Waybar
ignore_exclusive_zones: false,
// Layer shell layer: Background, Bottom, Top, Overlay
layer: Overlay,
// Hide the plugin info panel
hide_plugin_info: false,
// List of plugins to be loaded by default, can be specified with a relative path to be loaded from the
// `<anyrun config dir>/plugins` directory or with an absolute path to just load the file the path points to.
plugins: [
"libapplications.so",
"libshell.so",
"librink.so",
"libanyrun_websearch.so"
],
)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,47 +0,0 @@
#window {
border-radius: 10px;
background-color: none;
}
box#main {
border-radius: 10px;
}
list#main {
border-radius: 10px;
margin: 0px 10px 10px 10px;
}
list#plugin {
border-radius: 10px;
}
list#match {
border-radius: 10px;
}
entry#entry {
border: none;
border-radius: 10px;
margin: 10px 10px 0px 10px;
}
label#match-desc {
font-size: 12px;
border-radius: 10px;
}
label#match-title {
font-size: 12px;
border-radius: 10px;
}
label#plugin {
font-size: 16px;
border-radius: 10px;
}
* {
border-radius: 10px;
}

View file

@ -1,6 +0,0 @@
Config (
prefix_url_map: {
":g": "https://google.com/search?q=",
":b": "https://search.brave.com/search?q=",
}
)

228
assets/logo.svg Normal file
View file

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="38.203144mm"
height="64.726036mm"
viewBox="0 0 38.203144 64.726037"
version="1.1"
id="svg1"
xml:space="preserve"
sodipodi:docname="logo.svg"
inkscape:export-filename="logo.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.9527497"
inkscape:cx="140.82706"
inkscape:cy="187.42801"
inkscape:window-width="1340"
inkscape:window-height="764"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" /><defs
id="defs1"><linearGradient
id="linearGradient106"><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0"
id="stop106" /><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0.23456791"
id="stop109" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.4526749"
id="stop108" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.59362137"
id="stop110" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="0.66358024"
id="stop111" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="1"
id="stop107" /></linearGradient><linearGradient
id="swatch2"><stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop2" /></linearGradient><linearGradient
xlink:href="#linearGradient106"
id="linearGradient107"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
gradientUnits="userSpaceOnUse"
spreadMethod="pad" /><linearGradient
xlink:href="#linearGradient106"
id="linearGradient111"
gradientUnits="userSpaceOnUse"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
spreadMethod="pad" /><linearGradient
xlink:href="#linearGradient106"
id="linearGradient112"
gradientUnits="userSpaceOnUse"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
spreadMethod="pad" /><linearGradient
xlink:href="#linearGradient106"
id="linearGradient113"
gradientUnits="userSpaceOnUse"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
spreadMethod="pad" /></defs><g
id="layer1"
transform="matrix(0.45379,0,0,0.45379,-29.224699,-23.939314)"><g
id="g82"
transform="matrix(0.16779066,0,0,0.16779066,64.401373,52.777012)"
style="fill:#28b3fc;fill-opacity:1"><g
id="layer3-7"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-141.35649,1425.3526)"><g
id="g113"><g
id="layer1-8"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path4861" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z"
id="use4863" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z"
id="use4865" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z"
id="use4867" /><path
id="path4873"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
id="use4875"
d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
id="use4877"
d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><g
id="layer2"
style="display:none;fill:#28b3fc;fill-opacity:1"
transform="translate(72.039038,-1799.4476)"><path
d="M 460.60629,594.72881 209.74183,594.7288 84.309616,377.4738 209.74185,160.21882 l 250.86446,1e-5 125.43222,217.255 z"
id="path6032"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.236;fill:#28b3fc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /><path
transform="translate(0,-308.26772)"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
id="path5875"
d="M 385.59154,773.06721 H 284.75659 l -50.41747,-87.32564 50.41748,-87.32563 100.83495,10e-6 50.41748,87.32563 z" /><path
transform="translate(0,-308.26772)"
id="path5851"
d="m 1216.5591,938.53395 123.0545,228.14035 -42.6807,-1.2616 -43.4823,-79.7725 -39.6506,80.3267 -32.6875,-19.7984 53.4737,-100.2848 -37.1157,-73.88955 z"
style="fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.415;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect5884"
width="48.834862"
height="226.22897"
x="-34.74221"
y="446.17056"
transform="rotate(-30)" /><path
transform="translate(0,-308.26772)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.509;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path3428"
d="m 251.98568,878.63831 -14.02447,24.29109 h -28.04894 l -14.02447,-24.29109 14.02447,-24.2911 h 28.04894 z" /><use
x="0"
y="0"
xlink:href="#rect5884"
id="use4252"
transform="rotate(60,268.29786,489.4515)"
width="100%"
height="100%"
style="fill:#28b3fc;fill-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4254"
width="5.3947482"
height="115.12564"
x="545.71014"
y="467.07007"
transform="rotate(30,575.23539,-154.13386)" /></g></g><g
id="layer3"
style="display:inline;opacity:1;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
id="path3336-6"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z"
style="opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(60,407.11155,-715.78724)"
id="use3439-6"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#28b3fc;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-60,407.31177,-715.70016)"
id="use3445-0"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#28b3fc;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(180,407.41868,-715.7565)"
id="use3449-5"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#28b3fc;fill-opacity:1" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z"
id="path4260-0" /><use
height="100%"
width="100%"
transform="rotate(120,407.33916,-716.08356)"
id="use4354-5"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#28b3fc;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-120,407.28823,-715.86995)"
id="use4362-2"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#28b3fc;fill-opacity:1" /></g><g
id="g104"
style="fill:url(#linearGradient107);stroke:none"
transform="rotate(-13.062247,340.02897,-863.93232)"><path
id="use3449-5-0-0"
d="m 331.77633,-1001.5212 94.91305,225.23301 -55.78631,-6.46377 -25.29508,-60.48604 -39.63845,52.03815 -27.6842,-3.48227 -11.10824,-26.27568 56.46054,-74.04107 -25.77721,-61.5105 z"
style="fill:url(#linearGradient111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="use3449-5-0-0-6"
d="m 457.02748,-744.14459 -70.00051,-234.1759 54.76023,12.45846 18.60597,62.86668 45.03324,-47.44663 27.14534,6.4555 8.2017,27.32283 -64.13603,67.50143 18.97452,63.93729 z"
style="display:inline;fill:url(#linearGradient112);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="use3449-5-0-0-4"
d="m 292.53533,-578.77105 178.97491,-166.45237 -53.52586,-16.99636 -47.88683,44.78006 -14.79485,-63.7204 -26.67512,-8.18413 -20.91172,19.40373 21.10703,90.68829 -48.74692,45.51646 z"
style="display:inline;fill:url(#linearGradient113);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 18 KiB

BIN
assets/logo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

238
assets/logo2.svg Normal file
View file

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="38.753597mm"
height="65.022255mm"
viewBox="0 0 38.753597 65.022256"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title39">DashNix</title><defs
id="defs1"><linearGradient
id="linearGradient106"><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0"
id="stop106" /><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0.23456791"
id="stop109" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.4526749"
id="stop108" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.59362137"
id="stop110" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="0.66358024"
id="stop111" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="1"
id="stop107" /></linearGradient><linearGradient
xlink:href="#linearGradient106"
id="linearGradient107"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
gradientUnits="userSpaceOnUse"
spreadMethod="pad" /></defs><g
id="layer1"
transform="matrix(0.45379,0,0,0.45379,-29.020506,-23.643099)"><g
id="g82"
transform="matrix(0.16779066,0,0,0.16779066,64.401373,52.777012)"
style="fill:#28b3fc;fill-opacity:1"><g
id="layer3-7"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-141.35649,1425.3526)"><g
id="g113"><g
id="layer1-8"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path4861" /><path
style="fill:#f7f5f6;fill-opacity:1"
d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z"
id="use4863" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z"
id="use4865" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z"
id="use4867" /><path
id="path4873"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
id="use4875"
d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
id="use4877"
d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><g
id="layer2"
style="display:none;fill:#f7f5f6;fill-opacity:1"
transform="translate(72.039038,-1799.4476)"><path
d="M 460.60629,594.72881 209.74183,594.7288 84.309616,377.4738 209.74185,160.21882 l 250.86446,1e-5 125.43222,217.255 z"
id="path6032"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.236;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /><path
transform="translate(0,-308.26772)"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
id="path5875"
d="M 385.59154,773.06721 H 284.75659 l -50.41747,-87.32564 50.41748,-87.32563 100.83495,10e-6 50.41748,87.32563 z" /><path
transform="translate(0,-308.26772)"
id="path5851"
d="m 1216.5591,938.53395 123.0545,228.14035 -42.6807,-1.2616 -43.4823,-79.7725 -39.6506,80.3267 -32.6875,-19.7984 53.4737,-100.2848 -37.1157,-73.88955 z"
style="fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.415;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect5884"
width="48.834862"
height="226.22897"
x="-34.74221"
y="446.17056"
transform="rotate(-30)" /><path
transform="translate(0,-308.26772)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.509;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path3428"
d="m 251.98568,878.63831 -14.02447,24.29109 h -28.04894 l -14.02447,-24.29109 14.02447,-24.2911 h 28.04894 z" /><use
x="0"
y="0"
xlink:href="#rect5884"
id="use4252"
transform="rotate(60,268.29786,489.4515)"
width="100%"
height="100%"
style="fill:#f7f5f6;fill-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4254"
width="5.3947482"
height="115.12564"
x="545.71014"
y="467.07007"
transform="rotate(30,575.23539,-154.13386)" /></g><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.362108"
d="m 17.647006,93.08153 c -2.137791,-3.629135 -3.886892,-6.781154 -3.886892,-7.004491 0,-0.223334 2.036859,-3.907974 4.526353,-8.18809 2.489494,-4.280113 4.526353,-7.872269 4.526353,-7.982568 0,-0.110298 -4.202399,-0.200542 -9.338664,-0.200542 H 4.1354931 L 2.2488007,66.408408 C 1.2111198,64.594822 0.36210825,62.964051 0.36210825,62.784474 c 0,-0.179578 0.83310065,-1.791759 1.85133475,-3.582627 l 1.8513347,-3.256122 13.4477393,-0.0031 13.447739,-0.0031 4.75902,-8.234844 4.75902,-8.234843 8.039166,-0.09755 8.039169,-0.09754 -0.718362,1.18387 C 55.443173,41.109708 47.744447,54.433923 38.729994,70.067947 29.715538,85.701971 22.158685,98.760409 21.936986,99.086701 21.60128,99.580783 20.884148,98.576936 17.647006,93.08153 Z"
id="path27"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path28"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path29"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path30"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path31"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path32"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path33"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path34"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path35"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /></g><g
id="layer3"
style="display:inline;opacity:1;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
id="path3336-6"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z"
style="opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(60,407.11155,-715.78724)"
id="use3439-6"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-60,407.31177,-715.70016)"
id="use3445-0"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(180,407.41868,-715.7565)"
id="use3449-5"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z"
id="path4260-0" /><use
height="100%"
width="100%"
transform="rotate(120,407.33916,-716.08356)"
id="use4354-5"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#28b3fc;fill-opacity:1;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-120,407.28823,-715.86995)"
id="use4362-2"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#28b3fc;fill-opacity:1;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1" /></g><g
id="g104"
style="fill:url(#linearGradient107);stroke:none"
transform="rotate(-13.062247,340.02897,-863.93232)"><path
id="use3449-5-0-0"
d="m 331.77633,-1001.5212 94.91305,225.23301 -55.78631,-6.46377 -25.29508,-60.48604 -39.63845,52.03815 -27.6842,-3.48227 -11.10824,-26.27568 56.46054,-74.04107 -25.77721,-61.5105 z"
style="fill:#28b3fc;fill-opacity:1" /><path
id="use3449-5-0-0-6"
d="m 457.16967,-744.75745 -70.00051,-234.1759 54.76023,12.45846 18.60597,62.86668 45.03324,-47.44663 27.14534,6.4555 8.2017,27.32283 -64.13603,67.50143 18.97452,63.93729 z"
style="fill:#ff0d01;fill-opacity:1" /><path
id="use3449-5-0-0-4"
d="m 277.21377,-582.32585 178.97491,-166.45237 -53.52586,-16.99636 -47.88683,44.78006 -14.79485,-63.7204 -26.67512,-8.18413 -20.91172,19.40373 21.10703,90.68829 -48.74692,45.51646 z"
style="fill:#f8f641;fill-opacity:1" /></g></g></g></g><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path36"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="M 21.228346,98.82575 C 20.775825,98.187139 14.573556,87.698587 14.099569,86.770393 l -0.346608,-0.67875 1.796437,-3.213914 c 0.988041,-1.767653 3.067246,-5.409743 4.620457,-8.093538 1.553211,-2.683792 2.824019,-4.931476 2.824019,-4.99485 0,-0.110336 -11.090545,-0.351953 -16.3853984,-0.356972 L 4.0737178,69.429968 2.217913,66.175832 C 1.1972204,64.386056 0.36210825,62.847854 0.36210825,62.757606 c 0,-0.09025 0.87964515,-1.70058 1.95476695,-3.578513 l 1.954767,-3.414422 13.3895698,0.06926 13.389571,0.06926 4.821268,-8.307221 4.821271,-8.307221 3.145111,-0.04488 c 1.729813,-0.02469 5.235571,0.01605 7.790576,0.09053 l 4.645463,0.135412 -3.534135,6.15584 c -4.146422,7.222338 -16.886029,29.318862 -25.000346,43.362463 -3.135747,5.427098 -5.801825,9.976251 -5.924618,10.109228 -0.183451,0.198671 -0.288115,0.150249 -0.587027,-0.271581 z"
id="path37"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 97.636535,120.63066 c -1.389583,-2.41665 -4.382703,-7.63252 -6.651376,-11.59081 l -4.12486,-7.1969 -4.45825,-0.005 c -4.928423,-0.005 -14.743895,-0.1852 -14.838725,-0.27196 -0.03322,-0.0304 -1.827632,-3.096939 -3.987593,-6.814561 l -3.9272,-6.759314 17.535793,-0.04616 c 9.644687,-0.02539 25.387006,-0.02539 34.982936,0 l 17.44715,0.04616 -1.54239,2.715812 c -0.84832,1.493697 -2.61343,4.622573 -3.92248,6.953058 l -2.38008,4.237245 -9.38708,-0.11294 c -7.6636,-0.0922 -9.37652,-0.0697 -9.32957,0.12287 0.0316,0.1297 2.12168,3.83356 4.64454,8.23081 l 4.58703,7.995 -1.97119,3.3966 -1.9712,3.39659 -4.08947,0.0486 -4.08947,0.0486 z"
id="path38"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="M 87.802229,39.150266 C 80.890113,27.177278 73.023088,13.551901 70.319951,8.8716522 L 65.405158,0.36210825 68.59656,0.24891517 c 1.755271,-0.0622562 5.350472,-0.12261799 7.989335,-0.1341373 l 4.797935,-0.0209442 4.519855,7.89261083 c 2.48592,4.3409365 4.610279,8.0162745 4.7208,8.1674195 0.162204,0.22183 1.117147,-1.300038 4.953498,-7.8942647 l 4.752557,-8.16907224 h 3.92896 3.92895 l 2.03256,3.50763344 c 1.1179,1.9291986 2.03255,3.5544662 2.03255,3.6117061 0,0.05724 -3.01666,5.2908554 -6.70369,11.6302564 l -6.703688,11.526185 4.779848,8.329337 4.77986,8.329337 -3.94792,6.877008 c -2.17135,3.782353 -3.97949,6.908583 -4.01808,6.947175 -0.0386,0.03859 -5.725543,-9.725911 -12.637661,-21.698899 z"
id="path39"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /></g><metadata
id="metadata39"><rdf:RDF><cc:Work
rdf:about=""><cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" /><dc:title>DashNix</dc:title></cc:Work><cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 26 KiB

238
assets/logo3.svg Normal file
View file

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="38.854057mm"
height="65.022255mm"
viewBox="0 0 38.854057 65.022256"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title39">DashNix</title><defs
id="defs1"><linearGradient
id="linearGradient106"><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0"
id="stop106" /><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0.23456791"
id="stop109" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.4526749"
id="stop108" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.59362137"
id="stop110" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="0.66358024"
id="stop111" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="1"
id="stop107" /></linearGradient><linearGradient
xlink:href="#linearGradient106"
id="linearGradient107"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
gradientUnits="userSpaceOnUse"
spreadMethod="pad" /></defs><g
id="layer1"
transform="matrix(0.45379,0,0,0.45379,-28.920048,-23.643099)"><g
id="g82"
transform="matrix(0.16779066,0,0,0.16779066,64.401373,52.777012)"
style="fill:#28b3fc;fill-opacity:1"><g
id="layer3-7"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-141.35649,1425.3526)"><g
id="g113"><g
id="layer1-8"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path4861" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z"
id="use4863" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z"
id="use4865" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z"
id="use4867" /><path
id="path4873"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1" /><path
id="use4875"
d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z"
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1" /><path
id="use4877"
d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z"
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1" /><g
id="layer2"
style="display:none;fill:#f7f5f6;fill-opacity:1"
transform="translate(72.039038,-1799.4476)"><path
d="M 460.60629,594.72881 209.74183,594.7288 84.309616,377.4738 209.74185,160.21882 l 250.86446,1e-5 125.43222,217.255 z"
id="path6032"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.236;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /><path
transform="translate(0,-308.26772)"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
id="path5875"
d="M 385.59154,773.06721 H 284.75659 l -50.41747,-87.32564 50.41748,-87.32563 100.83495,10e-6 50.41748,87.32563 z" /><path
transform="translate(0,-308.26772)"
id="path5851"
d="m 1216.5591,938.53395 123.0545,228.14035 -42.6807,-1.2616 -43.4823,-79.7725 -39.6506,80.3267 -32.6875,-19.7984 53.4737,-100.2848 -37.1157,-73.88955 z"
style="fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.415;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect5884"
width="48.834862"
height="226.22897"
x="-34.74221"
y="446.17056"
transform="rotate(-30)" /><path
transform="translate(0,-308.26772)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.509;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path3428"
d="m 251.98568,878.63831 -14.02447,24.29109 h -28.04894 l -14.02447,-24.29109 14.02447,-24.2911 h 28.04894 z" /><use
x="0"
y="0"
xlink:href="#rect5884"
id="use4252"
transform="rotate(60,268.29786,489.4515)"
width="100%"
height="100%"
style="fill:#f7f5f6;fill-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4254"
width="5.3947482"
height="115.12564"
x="545.71014"
y="467.07007"
transform="rotate(30,575.23539,-154.13386)" /></g><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 17.647006,93.08153 c -2.137791,-3.629135 -3.886892,-6.781154 -3.886892,-7.004491 0,-0.223334 2.036859,-3.907974 4.526353,-8.18809 2.489494,-4.280113 4.526353,-7.872269 4.526353,-7.982568 0,-0.110298 -4.202399,-0.200542 -9.338664,-0.200542 H 4.1354931 L 2.2488007,66.408408 C 1.2111198,64.594822 0.36210825,62.964051 0.36210825,62.784474 c 0,-0.179578 0.83310065,-1.791759 1.85133475,-3.582627 l 1.8513347,-3.256122 13.4477393,-0.0031 13.447739,-0.0031 4.75902,-8.234844 4.75902,-8.234843 8.039166,-0.09755 8.039169,-0.09754 -0.718362,1.18387 C 55.443173,41.109708 47.744447,54.433923 38.729994,70.067947 29.715538,85.701971 22.158685,98.760409 21.936986,99.086701 21.60128,99.580783 20.884148,98.576936 17.647006,93.08153 Z"
id="path27"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path28"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path29"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path30"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path31"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path32"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path33"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path34"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path35"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /></g><g
id="layer3"
style="display:inline;opacity:1;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
id="path3336-6"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z"
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(60,407.11155,-715.78724)"
id="use3439-6"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-60,407.31177,-715.70016)"
id="use3445-0"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(180,407.41868,-715.7565)"
id="use3449-5"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z"
id="path4260-0" /><use
height="100%"
width="100%"
transform="rotate(120,407.33916,-716.08356)"
id="use4354-5"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-120,407.28823,-715.86995)"
id="use4362-2"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1" /></g><g
id="g104"
style="fill:url(#linearGradient107);stroke:none"
transform="rotate(-13.062247,340.02897,-863.93232)"><path
id="use3449-5-0-0"
d="m 331.77633,-1001.5212 94.91305,225.23301 -55.78631,-6.46377 -25.29508,-60.48604 -39.63845,52.03815 -27.6842,-3.48227 -11.10824,-26.27568 56.46054,-74.04107 -25.77721,-61.5105 z"
style="fill:#28b3fc;fill-opacity:1" /><path
id="use3449-5-0-0-6"
d="m 457.16967,-744.75745 -70.00051,-234.1759 54.76023,12.45846 18.60597,62.86668 45.03324,-47.44663 27.14534,6.4555 8.2017,27.32283 -64.13603,67.50143 18.97452,63.93729 z"
style="fill:#ff0d01;fill-opacity:1" /><path
id="use3449-5-0-0-4"
d="m 277.21377,-582.32585 178.97491,-166.45237 -53.52586,-16.99636 -47.88683,44.78006 -14.79485,-63.7204 -26.67512,-8.18413 -20.91172,19.40373 21.10703,90.68829 -48.74692,45.51646 z"
style="fill:#f8f641;fill-opacity:1" /></g></g></g></g><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path36"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="M 21.228346,98.82575 C 20.775825,98.187139 14.573556,87.698587 14.099569,86.770393 l -0.346608,-0.67875 1.796437,-3.213914 c 0.988041,-1.767653 3.067246,-5.409743 4.620457,-8.093538 1.553211,-2.683792 2.824019,-4.931476 2.824019,-4.99485 0,-0.110336 -11.090545,-0.351953 -16.3853984,-0.356972 L 4.0737178,69.429968 2.217913,66.175832 C 1.1972204,64.386056 0.36210825,62.847854 0.36210825,62.757606 c 0,-0.09025 0.87964515,-1.70058 1.95476695,-3.578513 l 1.954767,-3.414422 13.3895698,0.06926 13.389571,0.06926 4.821268,-8.307221 4.821271,-8.307221 3.145111,-0.04488 c 1.729813,-0.02469 5.235571,0.01605 7.790576,0.09053 l 4.645463,0.135412 -3.534135,6.15584 c -4.146422,7.222338 -16.886029,29.318862 -25.000346,43.362463 -3.135747,5.427098 -5.801825,9.976251 -5.924618,10.109228 -0.183451,0.198671 -0.288115,0.150249 -0.587027,-0.271581 z"
id="path37"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 97.636535,120.63066 c -1.389583,-2.41665 -4.382703,-7.63252 -6.651376,-11.59081 l -4.12486,-7.1969 -4.45825,-0.005 c -4.928423,-0.005 -14.743895,-0.1852 -14.838725,-0.27196 -0.03322,-0.0304 -1.827632,-3.096939 -3.987593,-6.814561 l -3.9272,-6.759314 17.535793,-0.04616 c 9.644687,-0.02539 25.387006,-0.02539 34.982936,0 l 17.44715,0.04616 -1.54239,2.715812 c -0.84832,1.493697 -2.61343,4.622573 -3.92248,6.953058 l -2.38008,4.237245 -9.38708,-0.11294 c -7.6636,-0.0922 -9.37652,-0.0697 -9.32957,0.12287 0.0316,0.1297 2.12168,3.83356 4.64454,8.23081 l 4.58703,7.995 -1.97119,3.3966 -1.9712,3.39659 -4.08947,0.0486 -4.08947,0.0486 z"
id="path38"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#b2dff8;fill-opacity:0;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="M 87.802229,39.150266 C 80.890113,27.177278 73.023088,13.551901 70.319951,8.8716522 L 65.405158,0.36210825 68.59656,0.24891517 c 1.755271,-0.0622562 5.350472,-0.12261799 7.989335,-0.1341373 l 4.797935,-0.0209442 4.519855,7.89261083 c 2.48592,4.3409365 4.610279,8.0162745 4.7208,8.1674195 0.162204,0.22183 1.117147,-1.300038 4.953498,-7.8942647 l 4.752557,-8.16907224 h 3.92896 3.92895 l 2.03256,3.50763344 c 1.1179,1.9291986 2.03255,3.5544662 2.03255,3.6117061 0,0.05724 -3.01666,5.2908554 -6.70369,11.6302564 l -6.703688,11.526185 4.779848,8.329337 4.77986,8.329337 -3.94792,6.877008 c -2.17135,3.782353 -3.97949,6.908583 -4.01808,6.947175 -0.0386,0.03859 -5.725543,-9.725911 -12.637661,-21.698899 z"
id="path39"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /></g><metadata
id="metadata39"><rdf:RDF><cc:Work
rdf:about=""><cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" /><dc:title>DashNix</dc:title></cc:Work><cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 24 KiB

141
assets/rainbow.svg Normal file
View file

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
inkscape:export-filename="nixos-catpuccin.png"
sodipodi:docname="catppuccinnix.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
version="1.1"
id="svg2"
viewBox="0 0 3225.0001 1350"
height="1440"
width="3440"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs4" />
<sodipodi:namedview
inkscape:showpageshadow="false"
borderlayer="true"
inkscape:pagecheckerboard="false"
units="px"
inkscape:document-rotation="0"
fit-margin-bottom="0"
fit-margin-right="0"
fit-margin-left="0"
fit-margin-top="0"
inkscape:snap-global="true"
inkscape:window-maximized="1"
inkscape:window-y="0"
inkscape:window-x="0"
inkscape:window-height="1440"
inkscape:window-width="3440"
showgrid="false"
inkscape:current-layer="g2"
inkscape:document-units="px"
inkscape:cy="745.58828"
inkscape:cx="2124.2232"
inkscape:zoom="0.63976327"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="g2"
inkscape:label="nix"
inkscape:export-filename="2kwide.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:groupmode="layer">
<rect
style="display:inline;fill:#1e1e2e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54331;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke markers fill"
id="rect1"
width="3225"
height="1350"
x="0"
y="0"
inkscape:label="background"
inkscape:export-filename="2kwidepng"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96" />
<g
transform="translate(-233.46209,403.59287)"
style="display:inline;opacity:1"
inkscape:label="logo"
id="layer3"
inkscape:groupmode="layer">
<g
style="stroke-width:11.0512"
transform="matrix(0.11707329,0,0,0.11707336,1503.267,99.424817)"
id="g955">
<g
transform="matrix(11.047619,0,0,11.047619,-1572.2888,9377.7107)"
id="g869"
inkscape:export-filename="g869.svg"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600">
<g
transform="rotate(-60,226.35754,-449.37199)"
id="g932"
style="fill:#f9e2af;fill-opacity:1;stroke-width:11.0512">
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path3336-6"
d="m 449.71876,-420.51322 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z"
style="opacity:1;fill:#f9e2af;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:33.1535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path4260-0"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#fab387;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:33.1535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use3439-6"
d="m 353.65459,-797.57947 -122.21762,211.66311 -28.53475,-48.37004 32.93837,-56.68746 -65.41521,-0.17187 -13.94166,-24.16966 14.23639,-24.72105 93.11171,0.294 33.46379,-57.6904 z"
style="fill:#f38ba8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:33.1535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use3449-5"
d="m 505.28844,-721.12474 -122.19683,-211.67512 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4901 33.22946,57.8257 z"
style="fill:#89b4fa;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:33.1535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use4354-5"
d="m 451.30201,-803.62004 -244.41444,-0.012 27.62231,-48.89684 65.56197,0.18174 -32.55876,-56.73718 13.96071,-24.15866 28.52725,-0.0314 46.30123,80.7841 66.69317,0.13525 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cba6f7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:33.1535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use4362-2"
d="m 460.90516,-633.96606 122.21762,-211.66312 28.53475,48.37004 -32.93837,56.68746 65.41521,0.17187 13.94166,24.16966 -14.23639,24.72105 -93.11171,-0.294 -33.46371,57.69035 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#a6e3a1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:33.1535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
base/black.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

174
base/common_hardware.nix Normal file
View file

@ -0,0 +1,174 @@
{
mkDashDefault,
pkgs,
config,
lib,
hostName,
modulesPath,
...
}: let
username = config.conf.username;
in {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
wsl.enable = mkDashDefault config.conf.wsl;
# Bootloader.
boot = lib.mkIf (!config.conf.wsl) {
consoleLogLevel = mkDashDefault 0;
lanzaboote = lib.mkIf config.conf.secureBoot {
enable = mkDashDefault true;
pkiBundle = mkDashDefault "/var/lib/sbctl";
settings.reboot-for-bitlocker = mkDashDefault true;
};
loader = {
systemd-boot = {
enable =
if config.conf.secureBoot
then lib.mkForce false
else if config.conf.useSystemdBootloader
then true
else mkDashDefault false;
configurationLimit = 5;
};
efi.canTouchEfiVariables = mkDashDefault true;
};
kernelPackages = mkDashDefault pkgs.linuxPackages_latest;
initrd = {
verbose = mkDashDefault false;
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
};
kernelParams =
[
''resume="PARTLABEL=SWAP"''
''quiet''
''udev.log_level=3''
]
++ config.conf.bootParams;
};
networking = {
useDHCP = mkDashDefault true;
networkmanager.enable = mkDashDefault true;
hostName = mkDashDefault hostName;
};
time = {
timeZone = mkDashDefault config.conf.timezone;
hardwareClockInLocalTime = mkDashDefault config.conf.systemLocalTime;
};
i18n.defaultLocale = mkDashDefault config.conf.locale;
services = {
lorri.enable = mkDashDefault true;
xserver.enable = mkDashDefault true;
fstrim.enable = mkDashDefault true;
pulseaudio.enable = mkDashDefault false;
pipewire = {
enable = mkDashDefault true;
alsa = {
enable = mkDashDefault true;
support32Bit = mkDashDefault true;
};
jack.enable = mkDashDefault true;
pulse.enable = mkDashDefault true;
};
};
nixpkgs.hostPlatform = mkDashDefault config.conf.system;
nix = {
gc = {
automatic = mkDashDefault true;
dates = mkDashDefault "weekly";
options = mkDashDefault "--delete-older-than 7d --delete-generations +5";
};
settings = {
trusted-users = [username];
auto-optimise-store = mkDashDefault true;
builders-use-substitutes = mkDashDefault true;
trusted-substituters = [
"https://hyprland.cachix.org"
"https://anyrun.cachix.org"
"https://oxipaste.cachix.org"
"https://oxinoti.cachix.org"
"https://oxishut.cachix.org"
"https://oxidash.cachix.org"
"https://oxicalc.cachix.org"
"https://hyprdock.cachix.org"
"https://reset.cachix.org"
"https://dashvim.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"oxipaste.cachix.org-1:n/oA3N3Z+LJP7eIWOwuoLd9QnPyZXqFjLgkahjsdDGc="
"oxinoti.cachix.org-1:dvSoJl2Pjo5HMaNngdBbSaixK9BSf2N8gzjP2MdGvfc="
"oxishut.cachix.org-1:axyAGF3XMh1IyMAW4UMbQCdMNovDH0KH6hqLLRJH8jU="
"oxidash.cachix.org-1:5K2FNHp7AS8VF7LmQkJAUG/dm6UHCz4ngshBVbjFX30="
"oxicalc.cachix.org-1:qF3krFc20tgSmtR/kt6Ku/T5QiG824z79qU5eRCSBTQ="
"hyprdock.cachix.org-1:HaROK3fBvFWIMHZau3Vq1TLwUoJE8yRbGLk0lEGzv3Y="
"reset.cachix.org-1:LfpnUUdG7QM/eOkN7NtA+3+4Ar/UBeYB+3WH+GjP9Xo="
"dashvim.cachix.org-1:uLRdxp1WOWHnsZZtu3SwUWZRsvC7SXo0Gyk3tIefuL0="
];
experimental-features = mkDashDefault "nix-command flakes pipe-operators";
};
};
hardware = {
cpu.${config.conf.cpu}.updateMicrocode =
mkDashDefault
config.hardware.enableRedistributableFirmware;
};
security.rtkit.enable = mkDashDefault true;
environment.variables = {
XDG_CACHE_HOME = mkDashDefault "$HOME/.cache";
DIRENV_LOG_FORMAT = mkDashDefault "";
QT_QPA_PLATFORMTHEME = mkDashDefault "qt5ct";
};
# allows user change later on
users = {
mutableUsers = mkDashDefault true;
users.${username} = {
isNormalUser = mkDashDefault true;
description = mkDashDefault username;
extraGroups = [
"networkmanager"
"wheel"
"gamemode"
"docker"
"vboxusers"
"video"
"audio"
"scanner"
"lp"
];
packages = with pkgs; [
home-manager
xdg-desktop-portal-gtk
];
# this password will only last for the first login
# e.g. login, then change to whatever else, this also ensures no public hash is available
password = mkDashDefault "firstlogin";
};
};
}

7
base/default.nix Normal file
View file

@ -0,0 +1,7 @@
{
imports = [
./env.nix
./xkb_layout.nix
./common_hardware.nix
];
}

24
base/env.nix Normal file
View file

@ -0,0 +1,24 @@
{
mkDashDefault,
pkgs,
config,
lib,
...
}: {
environment = {
variables = {
GSETTINGS_SCHEMA_DIR = mkDashDefault "${pkgs.glib.getSchemaPath pkgs.gsettings-desktop-schemas}";
NEOVIDE_MAXIMIZED = mkDashDefault "0";
GPG_TTY = mkDashDefault "$(tty)";
EDITOR = mkDashDefault "neovide --no-fork";
SUDO_EDITOR = mkDashDefault "neovide --no-fork";
SCRIPTS = mkDashDefault "$HOME/.config/scripts";
};
sessionVariables = {
NIXOS_OZONE_WL = mkDashDefault "1";
GOPATH = mkDashDefault "$HOME/.go";
FLAKE = mkDashDefault config.conf.nixosConfigPath;
NH_FLAKE = mkDashDefault config.conf.nixosConfigPath;
};
};
}

23
base/xkb_layout.nix Normal file
View file

@ -0,0 +1,23 @@
{
mkDashDefault,
pkgs,
...
}: let
layout = pkgs.writeText "enIntUmlaut" ''
xkb_symbols "enIntUmlaut"
{
include "us(basic)"
include "level3(ralt_switch)"
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
};
'';
in {
environment.systemPackages = mkDashDefault [pkgs.xorg.xkbcomp];
services.xserver.xkb.extraLayouts.enIntUmlaut = {
description = "US layout with 'umlaut'";
languages = ["eng"];
symbolsFile = "${layout}";
};
}

View file

@ -1,216 +0,0 @@
[General]
plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext
[Options]
activate_closes=true
activate_focuses=true
activate_item_with_single_click=false
activate_pastes=true
always_on_top=false
autocompletion=true
autostart=false
change_clipboard_owner_delay_ms=150
check_clipboard=true
check_selection=false
clipboard_notification_lines=0
clipboard_tab=&clipboard
close_on_unfocus=false
close_on_unfocus_delay_ms=500
command_history_size=100
confirm_exit=true
copy_clipboard=false
copy_selection=false
disable_tray=false
edit_ctrl_return=true
editor=gedit --standalone -- %1
expire_tab=0
filter_case_insensitive=true
filter_regular_expression=false
hide_main_window=true
hide_main_window_in_task_bar=false
hide_tabs=false
hide_toolbar=false
hide_toolbar_labels=true
item_popup_interval=0
language=en
max_process_manager_rows=1000
maxitems=200
move=true
native_menu_bar=true
native_notifications=true
native_tray_menu=false
notification_horizontal_offset=10
notification_maximum_height=100
notification_maximum_width=300
notification_position=3
notification_vertical_offset=10
number_search=false
open_windows_on_current_screen=true
restore_geometry=true
row_index_from_one=true
run_selection=true
save_delay_ms_on_item_added=300000
save_delay_ms_on_item_edited=1000
save_delay_ms_on_item_modified=300000
save_delay_ms_on_item_moved=1800000
save_delay_ms_on_item_removed=600000
save_filter_history=false
save_on_app_deactivated=true
script_paste_delay_ms=250
show_advanced_command_settings=false
show_simple_items=false
show_tab_item_count=false
style=
tab_tree=false
tabs=&clipboard
text_tab_width=8
text_wrap=true
transparency=0
transparency_focused=0
tray_commands=true
tray_images=true
tray_item_paste=true
tray_items=5
tray_menu_open_on_left_click=false
tray_tab=
tray_tab_is_current=true
vi=false
window_key_press_time_ms=50
window_paste_with_ctrl_v_regex=
window_wait_after_raised_ms=50
window_wait_before_raise_ms=20
window_wait_for_modifier_released_ms=2000
window_wait_raised_ms=150
[Plugins]
itemencrypted\enabled=true
itemfakevim\enabled=true
itemimage\enabled=true
itemimage\image_editor=
itemimage\max_image_height=240
itemimage\max_image_width=320
itemimage\svg_editor=
itemnotes\enabled=true
itempinned\enabled=true
itemsync\enabled=true
itemtags\enabled=true
itemtext\enabled=true
[Shortcuts]
about=shift+f1
change_tab_icon=ctrl+shift+t
commands=f6
copy_selected_items=ctrl+c
delete_item=del
edit=f2
edit_notes=shift+f2
editor=ctrl+e
editor_background=
editor_bold=ctrl+b
editor_cancel=esc
editor_erase_style=
editor_font=
editor_foreground=
editor_italic=ctrl+i
editor_redo=ctrl+shift+z
editor_save=f2
editor_search=ctrl+f
editor_strikethrough=
editor_underline=ctrl+u
editor_undo=ctrl+z
exit=ctrl+q
export=ctrl+s
find_items=ctrl+g
help=f1
import=ctrl+i
item-menu=shift+f10
move_down=ctrl+down
move_to_bottom=ctrl+end
move_to_clipboard=
move_to_top=ctrl+home
move_up=ctrl+up
new=ctrl+n
new_tab=ctrl+t
next_tab=right
paste_selected_items=ctrl+v
preferences=ctrl+p
previous_tab=left
process_manager=ctrl+shift+z
remove_tab=ctrl+w
rename_tab=ctrl+f2
reverse_selected_items=ctrl+shift+r
show-log=f12
show_clipboard_content=ctrl+shift+c
show_item_content=f4
show_item_preview=f7
sort_selected_items=ctrl+shift+s
system-run=f5
toggle_clipboard_storing=ctrl+shift+x
[Tabs]
1\icon=
1\max_item_count=0
1\name=&clipboard
1\store_items=true
size=1
[Theme]
alt_bg=default_alt_bg
alt_item_css=
bg=default_bg
css=
css_template_items=items
css_template_main_window=main_window
css_template_menu=menu
css_template_notification=notification
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=default_bg
edit_fg=default_text
edit_font=
fg=default_text
find_bg=#ff0
find_fg=#000
find_font=
font=
font_antialiasing=true
hover_item_css=
icon_size=16
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
notes_bg=default_tooltip_bg
notes_css=
notes_fg=default_tooltip_text
notes_font=
notification_bg=#333
notification_fg=#ddd
notification_font=
num_fg=default_placeholder_text
num_font=
num_margin=2
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=default_highlight_bg
sel_fg=default_highlight_text
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=false
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
use_system_icons=false

View file

@ -1,44 +0,0 @@
[Commands]
1\Command=copyq: plugins.itempinned.pin()
1\Icon=\xf08d
1\InMenu=true
1\Input=!OUTPUT
1\InternalId=copyq_pinned_pin
1\Name=Pin
1\Output=application/x-copyq-item-pinned
2\Command=copyq: plugins.itempinned.unpin()
2\Icon=\xf08d
2\InMenu=true
2\Input=application/x-copyq-item-pinned
2\InternalId=copyq_pinned_unpin
2\Name=Unpin
3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important'))
3\Icon=\xf02b
3\InMenu=true
3\InternalId=copyq_tags_tag:Important
3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail()
3\Name=Tag as \x201cImportant\x201d
4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important'))
4\Icon=\xf02b
4\InMenu=true
4\InternalId=copyq_tags_untag:Important
4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail()
4\Name=Remove tag \x201cImportant\x201d
5\Command=copyq: plugins.itemtags.tag()
5\Icon=\xf02b
5\InMenu=true
5\InternalId=copyq_tags_tag
5\Name=Add a Tag
6\Command=copyq: plugins.itemtags.untag()
6\Icon=\xf02b
6\InMenu=true
6\Input=application/x-copyq-tags
6\InternalId=copyq_tags_untag
6\Name=Remove a Tag
7\Command=copyq: plugins.itemtags.clearTags()
7\Icon=\xf02b
7\InMenu=true
7\Input=application/x-copyq-tags
7\InternalId=copyq_tags_clear
7\Name=Clear all tags
size=7

View file

@ -1,44 +0,0 @@
[Commands]
1\Command=copyq: plugins.itempinned.pin()
1\Icon=\xf08d
1\InMenu=true
1\Input=!OUTPUT
1\InternalId=copyq_pinned_pin
1\Name=Pin
1\Output=application/x-copyq-item-pinned
2\Command=copyq: plugins.itempinned.unpin()
2\Icon=\xf08d
2\InMenu=true
2\Input=application/x-copyq-item-pinned
2\InternalId=copyq_pinned_unpin
2\Name=Unpin
3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important'))
3\Icon=\xf02b
3\InMenu=true
3\InternalId=copyq_tags_tag:Important
3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail()
3\Name=Tag as \x201cImportant\x201d
4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important'))
4\Icon=\xf02b
4\InMenu=true
4\InternalId=copyq_tags_untag:Important
4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail()
4\Name=Remove tag \x201cImportant\x201d
5\Command=copyq: plugins.itemtags.tag()
5\Icon=\xf02b
5\InMenu=true
5\InternalId=copyq_tags_tag
5\Name=Add a Tag
6\Command=copyq: plugins.itemtags.untag()
6\Icon=\xf02b
6\InMenu=true
6\Input=application/x-copyq-tags
6\InternalId=copyq_tags_untag
6\Name=Remove a Tag
7\Command=copyq: plugins.itemtags.clearTags()
7\Icon=\xf02b
7\InMenu=true
7\Input=application/x-copyq-tags
7\InternalId=copyq_tags_clear
7\Name=Clear all tags
size=7

View file

@ -1,2 +0,0 @@
[General]
filter_history=@Invalid()

View file

@ -1,216 +0,0 @@
[General]
plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext
[Options]
activate_closes=true
activate_focuses=true
activate_item_with_single_click=true
activate_pastes=true
always_on_top=true
autocompletion=true
autostart=false
change_clipboard_owner_delay_ms=150
check_clipboard=true
check_selection=false
clipboard_notification_lines=0
clipboard_tab=&clipboard
close_on_unfocus=false
close_on_unfocus_delay_ms=500
command_history_size=100
confirm_exit=true
copy_clipboard=false
copy_selection=true
disable_tray=false
edit_ctrl_return=true
editor=gedit --standalone -- %1
expire_tab=0
filter_case_insensitive=true
filter_regular_expression=false
hide_main_window=true
hide_main_window_in_task_bar=false
hide_tabs=false
hide_toolbar=false
hide_toolbar_labels=true
item_popup_interval=0
language=en
max_process_manager_rows=1000
maxitems=200
move=true
native_menu_bar=true
native_notifications=true
native_tray_menu=false
notification_horizontal_offset=10
notification_maximum_height=100
notification_maximum_width=300
notification_position=3
notification_vertical_offset=10
number_search=false
open_windows_on_current_screen=true
restore_geometry=true
row_index_from_one=true
run_selection=true
save_delay_ms_on_item_added=300000
save_delay_ms_on_item_edited=1000
save_delay_ms_on_item_modified=300000
save_delay_ms_on_item_moved=1800000
save_delay_ms_on_item_removed=600000
save_filter_history=false
save_on_app_deactivated=true
script_paste_delay_ms=250
show_advanced_command_settings=false
show_simple_items=false
show_tab_item_count=false
style=
tab_tree=false
tabs=&clipboard
text_tab_width=8
text_wrap=true
transparency=0
transparency_focused=0
tray_commands=true
tray_images=true
tray_item_paste=true
tray_items=5
tray_menu_open_on_left_click=false
tray_tab=
tray_tab_is_current=true
vi=false
window_key_press_time_ms=50
window_paste_with_ctrl_v_regex=
window_wait_after_raised_ms=50
window_wait_before_raise_ms=20
window_wait_for_modifier_released_ms=2000
window_wait_raised_ms=150
[Plugins]
itemencrypted\enabled=true
itemfakevim\enabled=true
itemimage\enabled=true
itemimage\image_editor=
itemimage\max_image_height=240
itemimage\max_image_width=320
itemimage\svg_editor=
itemnotes\enabled=true
itempinned\enabled=true
itemsync\enabled=true
itemtags\enabled=true
itemtext\enabled=true
[Shortcuts]
about=shift+f1
change_tab_icon=ctrl+shift+t
commands=f6
copy_selected_items=ctrl+c
delete_item=del
edit=f2
edit_notes=shift+f2
editor=ctrl+e
editor_background=
editor_bold=ctrl+b
editor_cancel=esc
editor_erase_style=
editor_font=
editor_foreground=
editor_italic=ctrl+i
editor_redo=ctrl+shift+z
editor_save=f2
editor_search=ctrl+f
editor_strikethrough=
editor_underline=ctrl+u
editor_undo=ctrl+z
exit=ctrl+q
export=ctrl+s
find_items=ctrl+g
help=f1
import=ctrl+i
item-menu=shift+f10
move_down=ctrl+down
move_to_bottom=ctrl+end
move_to_clipboard=
move_to_top=ctrl+home
move_up=ctrl+up
new=ctrl+n
new_tab=ctrl+t
next_tab=right
paste_selected_items=ctrl+v
preferences=ctrl+p
previous_tab=left
process_manager=ctrl+shift+z
remove_tab=ctrl+w
rename_tab=ctrl+f2
reverse_selected_items=ctrl+shift+r
show-log=f12
show_clipboard_content=ctrl+shift+c
show_item_content=f4
show_item_preview=f7
sort_selected_items=ctrl+shift+s
system-run=f5
toggle_clipboard_storing=ctrl+shift+x
[Tabs]
1\icon=
1\max_item_count=0
1\name=&clipboard
1\store_items=true
size=1
[Theme]
alt_bg=default_alt_bg
alt_item_css=
bg=default_bg
css=
css_template_items=items
css_template_main_window=main_window
css_template_menu=menu
css_template_notification=notification
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=default_bg
edit_fg=default_text
edit_font=
fg=default_text
find_bg=#ff0
find_fg=#000
find_font=
font=
font_antialiasing=true
hover_item_css=
icon_size=16
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
notes_bg=default_tooltip_bg
notes_css=
notes_fg=default_tooltip_text
notes_font=
notification_bg=#333
notification_fg=#ddd
notification_font=
num_fg=default_placeholder_text
num_font=
num_margin=2
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=default_highlight_bg
sel_fg=default_highlight_text
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=false
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
use_system_icons=false

Binary file not shown.

View file

@ -1,491 +0,0 @@
{
"version": 1,
"notes": "",
"documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
"keyboard": "rgbkb/sol3/rev1",
"keymap": "dashie",
"layout": "LAYOUT",
"layers": [
[
"KC_ESC",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_MINS",
"KC_EQL",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_BSPC",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_LBRC",
"KC_RBRC",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_BSLS",
"MO(1)",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_LPRN",
"KC_RPRN",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"KC_LSFT",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_LCBR",
"KC_RCBR",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_GRV",
"KC_LCTL",
"MO(4)",
"RGB_TOG",
"KC_LALT",
"KC_LGUI",
"KC_SPC",
"KC_PGDN",
"KC_DEL",
"KC_BSPC",
"KC_PGUP",
"KC_ENT",
"KC_RCTL",
"KC_RALT",
"KC_CAPS",
"KC_HOME",
"KC_RCTL",
"KC_VOLD",
"KC_VOLU",
"KC_VOLD",
"KC_VOLU",
"KC_VOLD",
"KC_VOLU",
"KC_VOLD",
"KC_VOLU",
"KC_VOLD",
"KC_VOLU",
"KC_VOLD",
"KC_VOLU",
"KC_VOLD",
"KC_VOLU",
"KC_MNXT",
"KC_MPLY",
"KC_MPRV",
"KC_VOLD",
"KC_VOLU",
"KC_MNXT",
"KC_MPLY",
"KC_MPRV"
],
[
"KC_ESC",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_DEL",
"KC_TRNS",
"KC_MPRV",
"KC_MNXT",
"KC_MPLY",
"KC_MUTE",
"KC_G",
"KC_TRNS",
"KC_TRNS",
"KC_BTN2",
"KC_MS_L",
"KC_MS_D",
"KC_MS_U",
"KC_MS_R",
"KC_BTN1",
"KC_TRNS",
"KC_VOLD",
"KC_VOLU",
"KC_S",
"KC_T",
"KC_D",
"KC_TRNS",
"KC_TRNS",
"KC_H",
"KC_LEFT",
"KC_DOWN",
"KC_UP",
"KC_RGHT",
"KC_TRNS",
"KC_TRNS",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_TRNS",
"KC_TRNS",
"KC_K",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_CAPS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_F1",
"KC_F5",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_F2",
"KC_F6",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_TRNS",
"KC_TRNS",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_F3",
"KC_F7",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_TRNS",
"KC_TRNS",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_F4",
"KC_F8",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_TRNS",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F11",
"KC_F12",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_TRNS",
"KC_TRNS",
"KC_HOME",
"KC_UP",
"KC_END",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_HOME",
"KC_UP",
"KC_END",
"KC_PSCR",
"KC_PGUP",
"KC_TRNS",
"KC_LEFT",
"KC_DOWN",
"KC_RGHT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_LEFT",
"KC_DOWN",
"KC_RGHT",
"KC_INS",
"KC_PGDN",
"KC_TRNS",
"ANY(AU_TOGG)",
"ANY(MU_TOGG)",
"ANY(MU_NEXT)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"ANY(CK_TOGG)",
"ANY(CK_UP)",
"ANY(CK_DOWN)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_MPLY",
"KC_MNXT",
"KC_MUTE",
"KC_VOLD",
"KC_VOLU",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_TRNS",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F11",
"KC_F12",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_TRNS",
"KC_TRNS",
"RGB_SAD",
"RGB_VAI",
"RGB_SAI",
"QK_BOOT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_P7",
"KC_P8",
"KC_P9",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"RGB_HUD",
"RGB_VAD",
"RGB_HUI",
"KC_NO",
"KC_TRNS",
"ANY(DM_REC1)",
"KC_TRNS",
"KC_TRNS",
"KC_P4",
"KC_P5",
"KC_P6",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"RGB_SPD",
"KC_TRNS",
"RGB_SPI",
"KC_TRNS",
"KC_TRNS",
"ANY(DM_RSTP)",
"KC_TRNS",
"KC_TRNS",
"KC_P1",
"KC_P2",
"KC_P3",
"KC_TRNS",
"DF(2)",
"KC_TRNS",
"RGB_RMOD",
"RGB_TOG",
"RGB_MOD",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_P0",
"KC_PDOT",
"KC_NUM",
"DF(0)",
"DF(1)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
]
],
"author": ""
}

61
docs/default.nix Normal file
View file

@ -0,0 +1,61 @@
# with friendly help by stylix: https://github.com/danth/stylix/blob/master/docs/default.nix
{
pkgs,
buildSystems,
lib,
...
}: let
makeOptionsDoc = configuration: pkgs.nixosOptionsDoc {options = configuration;};
generateDocs = obj: ''
touch src/${obj.fst}.md
sed '/*Declared by:*/,/^$/d' <${obj.snd.optionsCommonMark} >> src/${obj.fst}.md
'';
summaryAppend = name: ''
echo "- [${name}](${name}.md)" >> src/SUMMARY.md
'';
system = (buildSystems {root = ../example/.;})."example".options;
makeOptionsDocPrograms = names: pkgs.nixosOptionsDoc {options = lib.attrByPath (lib.splitString "." names) null system.mods;};
conf = makeOptionsDoc system.conf;
basePath = ../modules/programs;
pathToAttrs = path:
lib.attrsets.mapAttrsToList (
name: meta: {
inherit name;
inherit meta;
}
)
(builtins.readDir path);
pathToStrings = path: prefix: let
mapFn = attrs:
if attrs.meta == "directory"
then pathToStrings "${basePath}/${attrs.name}" attrs.name
else if prefix != ""
then "${prefix}.${attrs.name}"
else attrs.name;
in
map
mapFn
(pathToAttrs path);
filteredNames = builtins.filter (names: !(lib.strings.hasInfix "default" names)) (
map (name: lib.strings.removeSuffix ".nix" name) (lib.lists.flatten (pathToStrings basePath ""))
);
deduplicatedNames = map (name: lib.strings.splitString "." name |> lib.lists.unique |> lib.strings.concatStringsSep ".") filteredNames;
mods = map makeOptionsDocPrograms deduplicatedNames;
docs = lib.strings.concatLines (map generateDocs (lib.lists.zipLists deduplicatedNames mods));
summary = lib.strings.concatStringsSep " " (map summaryAppend deduplicatedNames);
in
pkgs.stdenvNoCC.mkDerivation {
name = "dashNix-book";
src = ./.;
patchPhase = ''
sed '/*Declared by:*/,/^$/d' <${conf.optionsCommonMark} >> src/conf.md
${docs}
echo "[README](README.md)\n # Options\n - [Base Config](conf.md)" >> src/SUMMARY.md
${summary}
'';
buildPhase = ''
${pkgs.mdbook}/bin/mdbook build --dest-dir $out
'';
}

329
docs/src/README.md Normal file
View file

@ -0,0 +1,329 @@
<div align = center>
![Logo of DashNix](logo.svg)
</div>
An opinionated flake to bootstrap NixOS systems with default configurations for various programs and services from both NixOS and HomeManager which can be enabled, disabled, configured or replaced at will.
# Usage
This flake is intended to be used as an input to your own NixOS configuration:
```nix
dashNix = {
url = "github:Xetibo/DashNix";
inputs = {
# ensure these are here to update the packages on your own
nixpkgs.follows = "nixpkgs";
stable.follows = "stable";
};
};
```
You can then configure your systems in your flake outputs with a provided library command:
Please note that overriding inputs will invalidate the cache configuration, this means you will have to add this manually:
```nix
builders-use-substitutes = true;
extra-substituters = [
"https://hyprland.cachix.org"
"https://anyrun.cachix.org"
"https://cache.garnix.io"
"https://oxipaste.cachix.org"
"https://oxinoti.cachix.org"
"https://oxishut.cachix.org"
"https://oxidash.cachix.org"
"https://oxicalc.cachix.org"
"https://hyprdock.cachix.org"
"https://reset.cachix.org"
"https://dashvim.cachix.org"
];
extra-trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"oxipaste.cachix.org-1:n/oA3N3Z+LJP7eIWOwuoLd9QnPyZXqFjLgkahjsdDGc="
"oxinoti.cachix.org-1:dvSoJl2Pjo5HMaNngdBbSaixK9BSf2N8gzjP2MdGvfc="
"oxishut.cachix.org-1:axyAGF3XMh1IyMAW4UMbQCdMNovDH0KH6hqLLRJH8jU="
"oxidash.cachix.org-1:5K2FNHp7AS8VF7LmQkJAUG/dm6UHCz4ngshBVbjFX30="
"oxicalc.cachix.org-1:qF3krFc20tgSmtR/kt6Ku/T5QiG824z79qU5eRCSBTQ="
"hyprdock.cachix.org-1:HaROK3fBvFWIMHZau3Vq1TLwUoJE8yRbGLk0lEGzv3Y="
"reset.cachix.org-1:LfpnUUdG7QM/eOkN7NtA+3+4Ar/UBeYB+3WH+GjP9Xo="
"dashvim.cachix.org-1:uLRdxp1WOWHnsZZtu3SwUWZRsvC7SXo0Gyk3tIefuL0="
];
```
```nix
nixosConfigurations = inputs.dashNix.dashNixLib.buildSystems { root = ./.; };
```
This command will build each system that is placed within the hosts/ directory.
In this directory create one directory for each system you want to configure with DashNix.
This will automatically pick up the hostname for the system and look for 3 different files that are explained below.
(Optionally, you can also change the parameter root (./.) to define a different starting directory than hosts/)
In order for your configuration to work, you are required to at least provide a single config file with a further config file being optional for custom configuration.
The hardware.nix specifies additional NixOS configuration, while home.nix specifies additional home-manager configuration. (both optional)
|- flake.nix\
|- flake.lock\
|- hosts/\
|--- system1/\
|------ configuration.nix (required)\
|------ hardware.nix (optional)\
|------ home.nix (optional)\
|--- system2/\
|------ configuration.nix (required)\
|------ hardware.nix (optional)\
|------ home.nix (optional)\
|--- system3/\
|------ configuration.nix (required)\
|------ hardware.nix (optional)\
|------ home.nix (optional)
Here is a minimal required configuration.nix (the TODOs mention a required change):
```nix
{config, ...}: {
# TODO denote important changes
# variables for system
conf = {
# TODO your username
username = "YOURNAME";
# TODO only needed when you use intel -> amd is default
# cpu = "intel";
# TODO your xkb layout
locale = "something.UTF-8";
# TODO your timezone
timezone = "CONTINENT/CITY";
};
# modules
mods = {
# default disk config has root home boot and swap partition, overwrite if you want something different
sops.enable = false;
nextcloud.enable = false;
wm.monitors = [
# Example
# {
# name = "DP-1";
# resolutionX = 3440;
# resolutionY = 1440;
# refreshrate = 180;
# positionX = 2560;
# positionY = 0;
# scale = 1;
# transform = "0";
# vrr = false;
# }
];
gpu.nvidia.enable = true;
kdeConnect.enable = true;
# login manager:
# default is greetd
# greetd = { };
# sddm = { };
# gdm = { };
drives = {
# default assumes ROOT, BOOT, HOME and SWAP labaled drives exist
# for an example without HOME see below
# defaultDrives.enable = false;
# extraDrives = [
# {
# name = "boot";
# drive = {
# device = "/dev/disk/by-label/BOOT";
# fsType = "vfat";
# options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
# };
# }
# {
# name = "";
# drive = {
# device = "/dev/disk/by-label/ROOT";
# fsType = "ext4";
# options = [ "noatime" "nodiratime" "discard" ];
# };
# }
# ];
# You can also use disko to format your disks on installation.
# Please refer to the Documentation about the drives module for an example.
};
};
}
```
## First Login
After logging in the first time, your password will be set to "firstlogin", please change this to whatever you like.
## Configuring pkgs
While DashNix offers a default pkgs config, you may want to permit an unsecure packages,
add additional modules/inputs, or add an overlay to them.
You can configure both stable and unstable pkgs the following way:
Please note that modules and inputs are merged together to ensure functionality.
```nix
currentSystem = "x86_64-linux";
permittedPackages = [
"some package"
];
config = {
system = currentSystem;
config = {
allowUnfree = true;
permittedInsecurePackages = permittedPackages;
};
inputs = {
# Some inputs
}
mods = {
home = [
# Some home manager module
];
nixos = [
# Some nixos module
];
}
};
unstableBundle = {
pkgs = inputs.unstable;
inherit config mods;
};
inputs.dashNix.dashNixLib.buildSystems {
root = ./.;
inherit unstableBundle;
}
```
With this you could also change your input to something different should you wish to do so.
Note that overriding inputs via the flake still works,
this way however ensures you can also configure the inputs.
## Stable/Unstable
Sometimes you want to differentiate between systems that are stable and unstable, e.g. for servers and desktops/laptops.
This can be done with the overridePkgs flag for the lib function:
(overridePkgs simply inverts the default bundle that is used for the nix standard library as well as NixOS itself)
```nix
nixosConfigurations =
inputs.dashNix.dashNixLib.buildSystems {
root = ./stable;
inherit stableBundle;
overridePkgs = true;
}
// inputs.dashNix.dashNixLib.buildSystems {
inherit unstableBundle;
root = ./unstable;
};
```
You can now place your systems in the respective directories.
Keep in mind that the hosts directory will still need to exist in each variant.
E.g. stable/hosts/yourserver and unstable/hosts/yourdesktop
# Installation via ISO
You can find a custom ISO in the releases: [Link](https://github.com/Xetibo/DashNix/releases).
With this, you will receive the example config in /iso/example alongside the gnome desktop environment,
as well as a few tools like gnome-disks, Neovim, Vscodium, a browser etc.
Alternatively, you can use whatever NixOS installer and just install your config from there, just make sure to set the drive configuration before.
## Commands
First, copy the read-only config from /iso/example-config to a location of your choice.
```sh
cp /iso/example-config ~/config -r
```
Then configure as you please and choose a command below depending on your disk installation variant.
Installation via manual configuration:
```sh
sudo nixos-install --flake <flakelocation>#<hostname> --root <mountpoint> --option experimental-features "nix-command flakes pipe-operators"
#example
#nixos-install --flake ~/config#globi --root /mnt --option experimental-features "nix-command flakes pipe-operators"
```
Installation via disko:
```sh
sudo disko-install --flake <flakelocation>#<hostname> --disk <disk-name> <disk-device> --option experimental-features "nix-command flakes pipe-operators"
#example
#disko-install -- --flake ~/config#globi --disk main /dev/nvme0n1 --option experimental-features "nix-command flakes pipe-operators"
```
# Installation via flake
If you already have nix installed, you can instead just copy the default config onto your system and install DashNix with it.
To create the example config for a base to start with, you can just run this flake with the mkFlake command:
```sh
nix run github:Xetibo/DashNix#mkFlake
```
This command will put the default configuration into $HOME/gits/nixos
# Modules
This configuration features several modules that can be used as preconfigured "recipies".
These modules attempt to combine the home-manager and nixos packages/options to one single configuration file for each new system.
For package lists, please check the individual modules, as the lists can be long.
- Hyprland: Installs and configures Hyprland with various additional packages
- Niri: Installs and configures Niri with various additional packages
- acpid : Enables the acpid daemon
- base packages : A list of system packages to be installed by default
- bluetooth : Configures/enables bluetooth and installs tools for bluetooth
- coding packages : A list of coding packages to be installed by default
- drives : A drive configuration module
- firefox: Enables and configures firefox (extensions and settings)
- fish: Enables and configures fish shell
- gaming : Configures gaming related features (launchers, gamemode)
- git : Git key and config module
- gnome_services : Gnome services for minimal enviroments -> Window managers etc
- gpu : GPU settings (AMD)
- greetd : Enables and configures the greetd/regreet login manager with Hyprland
- home packages : A list of home packages to be installed by default
- kde_connect : Enables KDE connect and opens its ports
- keepassxc : Configures keepassxc
- kitty: Enables and configures kitty terminal
- layout : Modules to configure keyboard layout system wide
- media packages : A list of media packages to be installed by default
- mime: Mime type configuration
- nextcloud : Handles synchronization via nextcloud cmd. (requires config.sops.secrets.nextcloud)
- oxi: My own programs, can be selectively disabled, or as a whole
- piper : Installs and enables piper alongside its daemon
- plymouth: enable or disable plymouth
- printing : Enables and configures printing services
- scripts: Various preconfigured scripts with the ability to add more
- sops: Enables sops-nix
- starship : Configures the starship prompt
- stylix : Configures system themes, can also be applied to dashvim if used.
- teams: For the poor souls that have to use this....
- virtualbox : Enables and configures virtualbox
- xkb: Keyboard layout configuration
- xone : Installs the xone driver
- yazi: Installs yazi and sets custom keybinds
# Credits
- [Fufexan](https://github.com/fufexan) for the xdg-mime config:
- [Catppuccin](https://github.com/catppuccin) for base16 colors and zen-browser css
- [Danth](https://github.com/danth) for providing a base for the nix docs
- [chermnyx](https://github.com/chermnyx) for providing a base for zen configuration
- [voronind-com](https://github.com/voronind-com) for providing the darkreader configuration
- [Nix-Artwork](https://github.com/NixOS/nixos-artwork/tree/master/logo) for the Nix/NixOS logo (Tim Cuthbertson (@timbertson))
- [xddxdd](https://github.com/xddxdd) for the CachyOS-Kernel flake

0
docs/src/coding.md Normal file
View file

1
docs/src/conf.md Executable file
View file

@ -0,0 +1 @@
# This file handles the basic configuration for settings like language, timezone, input, cpu etc.

238
docs/src/logo.svg Normal file
View file

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="38.753597mm"
height="65.022255mm"
viewBox="0 0 38.753597 65.022256"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title39">DashNix</title><defs
id="defs1"><linearGradient
id="linearGradient106"><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0"
id="stop106" /><stop
style="stop-color:#28b3fc;stop-opacity:1;"
offset="0.23456791"
id="stop109" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.4526749"
id="stop108" /><stop
style="stop-color:#f8f641;stop-opacity:1;"
offset="0.59362137"
id="stop110" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="0.66358024"
id="stop111" /><stop
style="stop-color:#ff0d01;stop-opacity:1;"
offset="1"
id="stop107" /></linearGradient><linearGradient
xlink:href="#linearGradient106"
id="linearGradient107"
x1="278.05182"
y1="-843.59747"
x2="529.8988"
y2="-736.69476"
gradientUnits="userSpaceOnUse"
spreadMethod="pad" /></defs><g
id="layer1"
transform="matrix(0.45379,0,0,0.45379,-29.020506,-23.643099)"><g
id="g82"
transform="matrix(0.16779066,0,0,0.16779066,64.401373,52.777012)"
style="fill:#28b3fc;fill-opacity:1"><g
id="layer3-7"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-141.35649,1425.3526)"><g
id="g113"><g
id="layer1-8"
style="display:inline;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path4861" /><path
style="fill:#f7f5f6;fill-opacity:1"
d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z"
id="use4863" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z"
id="use4865" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z"
id="use4867" /><path
id="path4873"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
id="use4875"
d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
id="use4877"
d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><g
id="layer2"
style="display:none;fill:#f7f5f6;fill-opacity:1"
transform="translate(72.039038,-1799.4476)"><path
d="M 460.60629,594.72881 209.74183,594.7288 84.309616,377.4738 209.74185,160.21882 l 250.86446,1e-5 125.43222,217.255 z"
id="path6032"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.236;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /><path
transform="translate(0,-308.26772)"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
id="path5875"
d="M 385.59154,773.06721 H 284.75659 l -50.41747,-87.32564 50.41748,-87.32563 100.83495,10e-6 50.41748,87.32563 z" /><path
transform="translate(0,-308.26772)"
id="path5851"
d="m 1216.5591,938.53395 123.0545,228.14035 -42.6807,-1.2616 -43.4823,-79.7725 -39.6506,80.3267 -32.6875,-19.7984 53.4737,-100.2848 -37.1157,-73.88955 z"
style="fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.415;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect5884"
width="48.834862"
height="226.22897"
x="-34.74221"
y="446.17056"
transform="rotate(-30)" /><path
transform="translate(0,-308.26772)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.509;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path3428"
d="m 251.98568,878.63831 -14.02447,24.29109 h -28.04894 l -14.02447,-24.29109 14.02447,-24.2911 h 28.04894 z" /><use
x="0"
y="0"
xlink:href="#rect5884"
id="use4252"
transform="rotate(60,268.29786,489.4515)"
width="100%"
height="100%"
style="fill:#f7f5f6;fill-opacity:1" /><rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f7f5f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4254"
width="5.3947482"
height="115.12564"
x="545.71014"
y="467.07007"
transform="rotate(30,575.23539,-154.13386)" /></g><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.362108"
d="m 17.647006,93.08153 c -2.137791,-3.629135 -3.886892,-6.781154 -3.886892,-7.004491 0,-0.223334 2.036859,-3.907974 4.526353,-8.18809 2.489494,-4.280113 4.526353,-7.872269 4.526353,-7.982568 0,-0.110298 -4.202399,-0.200542 -9.338664,-0.200542 H 4.1354931 L 2.2488007,66.408408 C 1.2111198,64.594822 0.36210825,62.964051 0.36210825,62.784474 c 0,-0.179578 0.83310065,-1.791759 1.85133475,-3.582627 l 1.8513347,-3.256122 13.4477393,-0.0031 13.447739,-0.0031 4.75902,-8.234844 4.75902,-8.234843 8.039166,-0.09755 8.039169,-0.09754 -0.718362,1.18387 C 55.443173,41.109708 47.744447,54.433923 38.729994,70.067947 29.715538,85.701971 22.158685,98.760409 21.936986,99.086701 21.60128,99.580783 20.884148,98.576936 17.647006,93.08153 Z"
id="path27"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path28"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path29"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path30"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path31"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path32"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path33"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path34"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path35"
transform="matrix(3.4748797,0,0,3.4748797,156.33872,-933.32664)" /></g><g
id="layer3"
style="display:inline;opacity:1;fill:#28b3fc;fill-opacity:1"
transform="translate(-14.982227,-492.1621)"><path
id="path3336-6"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z"
style="opacity:1;fill:#28b3fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(60,407.11155,-715.78724)"
id="use3439-6"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-60,407.31177,-715.70016)"
id="use3445-0"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(180,407.41868,-715.7565)"
id="use3449-5"
xlink:href="#path3336-6"
y="0"
x="0"
style="fill:#f7f5f6;fill-opacity:1" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1"
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z"
id="path4260-0" /><use
height="100%"
width="100%"
transform="rotate(120,407.33916,-716.08356)"
id="use4354-5"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#28b3fc;fill-opacity:1;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1" /><use
height="100%"
width="100%"
transform="rotate(-120,407.28823,-715.86995)"
id="use4362-2"
xlink:href="#path4260-0"
y="0"
x="0"
style="display:inline;fill:#28b3fc;fill-opacity:1;stroke:#28b3fc;stroke-width:7.88004;stroke-dasharray:none;stroke-opacity:1" /></g><g
id="g104"
style="fill:url(#linearGradient107);stroke:none"
transform="rotate(-13.062247,340.02897,-863.93232)"><path
id="use3449-5-0-0"
d="m 331.77633,-1001.5212 94.91305,225.23301 -55.78631,-6.46377 -25.29508,-60.48604 -39.63845,52.03815 -27.6842,-3.48227 -11.10824,-26.27568 56.46054,-74.04107 -25.77721,-61.5105 z"
style="fill:#28b3fc;fill-opacity:1" /><path
id="use3449-5-0-0-6"
d="m 457.16967,-744.75745 -70.00051,-234.1759 54.76023,12.45846 18.60597,62.86668 45.03324,-47.44663 27.14534,6.4555 8.2017,27.32283 -64.13603,67.50143 18.97452,63.93729 z"
style="fill:#ff0d01;fill-opacity:1" /><path
id="use3449-5-0-0-4"
d="m 277.21377,-582.32585 178.97491,-166.45237 -53.52586,-16.99636 -47.88683,44.78006 -14.79485,-63.7204 -26.67512,-8.18413 -20.91172,19.40373 21.10703,90.68829 -48.74692,45.51646 z"
style="fill:#f8f641;fill-opacity:1" /></g></g></g></g><path
style="fill:#f7f5f6;fill-opacity:1;stroke-width:0.181054"
d="m 20.413065,97.739351 c -2.448138,-4.090679 -6.658726,-11.27144 -6.752434,-11.515638 -0.05373,-0.14001 2.024274,-3.903593 4.617779,-8.363519 2.593506,-4.459926 4.715464,-8.13954 4.715464,-8.17692 0,-0.03738 -4.257035,-0.07107 -9.460078,-0.07486 L 4.0737178,69.601519 2.1145346,66.168465 0.15535114,62.73541 2.2025635,59.176688 l 2.0472121,-3.558721 13.3811224,0.07335 13.381123,0.07335 4.807164,-8.283226 4.807163,-8.283227 h 7.93127 c 4.362198,0 7.931269,0.04091 7.931269,0.0909 0,0.112152 -34.58204,60.050535 -34.768044,60.260772 -0.07356,0.08315 -0.662065,-0.731596 -1.307778,-1.810541 z"
id="path36"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="M 21.228346,98.82575 C 20.775825,98.187139 14.573556,87.698587 14.099569,86.770393 l -0.346608,-0.67875 1.796437,-3.213914 c 0.988041,-1.767653 3.067246,-5.409743 4.620457,-8.093538 1.553211,-2.683792 2.824019,-4.931476 2.824019,-4.99485 0,-0.110336 -11.090545,-0.351953 -16.3853984,-0.356972 L 4.0737178,69.429968 2.217913,66.175832 C 1.1972204,64.386056 0.36210825,62.847854 0.36210825,62.757606 c 0,-0.09025 0.87964515,-1.70058 1.95476695,-3.578513 l 1.954767,-3.414422 13.3895698,0.06926 13.389571,0.06926 4.821268,-8.307221 4.821271,-8.307221 3.145111,-0.04488 c 1.729813,-0.02469 5.235571,0.01605 7.790576,0.09053 l 4.645463,0.135412 -3.534135,6.15584 c -4.146422,7.222338 -16.886029,29.318862 -25.000346,43.362463 -3.135747,5.427098 -5.801825,9.976251 -5.924618,10.109228 -0.183451,0.198671 -0.288115,0.150249 -0.587027,-0.271581 z"
id="path37"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="m 97.636535,120.63066 c -1.389583,-2.41665 -4.382703,-7.63252 -6.651376,-11.59081 l -4.12486,-7.1969 -4.45825,-0.005 c -4.928423,-0.005 -14.743895,-0.1852 -14.838725,-0.27196 -0.03322,-0.0304 -1.827632,-3.096939 -3.987593,-6.814561 l -3.9272,-6.759314 17.535793,-0.04616 c 9.644687,-0.02539 25.387006,-0.02539 34.982936,0 l 17.44715,0.04616 -1.54239,2.715812 c -0.84832,1.493697 -2.61343,4.622573 -3.92248,6.953058 l -2.38008,4.237245 -9.38708,-0.11294 c -7.6636,-0.0922 -9.37652,-0.0697 -9.32957,0.12287 0.0316,0.1297 2.12168,3.83356 4.64454,8.23081 l 4.58703,7.995 -1.97119,3.3966 -1.9712,3.39659 -4.08947,0.0486 -4.08947,0.0486 z"
id="path38"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /><path
style="fill:#f7f5f6;fill-opacity:1;stroke:#28b3fc;stroke-width:2.26772;stroke-dasharray:none;stroke-opacity:1"
d="M 87.802229,39.150266 C 80.890113,27.177278 73.023088,13.551901 70.319951,8.8716522 L 65.405158,0.36210825 68.59656,0.24891517 c 1.755271,-0.0622562 5.350472,-0.12261799 7.989335,-0.1341373 l 4.797935,-0.0209442 4.519855,7.89261083 c 2.48592,4.3409365 4.610279,8.0162745 4.7208,8.1674195 0.162204,0.22183 1.117147,-1.300038 4.953498,-7.8942647 l 4.752557,-8.16907224 h 3.92896 3.92895 l 2.03256,3.50763344 c 1.1179,1.9291986 2.03255,3.5544662 2.03255,3.6117061 0,0.05724 -3.01666,5.2908554 -6.70369,11.6302564 l -6.703688,11.526185 4.779848,8.329337 4.77986,8.329337 -3.94792,6.877008 c -2.17135,3.782353 -3.97949,6.908583 -4.01808,6.947175 -0.0386,0.03859 -5.725543,-9.725911 -12.637661,-21.698899 z"
id="path39"
transform="matrix(0.58305237,0,0,0.58305237,64.401373,52.754168)" /></g><metadata
id="metadata39"><rdf:RDF><cc:Work
rdf:about=""><cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" /><dc:title>DashNix</dc:title></cc:Work><cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 26 KiB

1
docs/src/mods.md Executable file
View file

@ -0,0 +1 @@
# This file handles configuration of individual modules.

View file

@ -1,9 +0,0 @@
GPG_TTY=$(tty)
PATH=$PATH:$HOME/.local/bin
TEXMFHOME=$HOME/.texmf
PATH=/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$HOME/.local/bin:$HOME/.cargo/bin:$PATH
EDITOR="neovide --novsync --nofork"
SUDO_EDITOR="neovide --novsync --nofork"
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
LD_LIBRARY_PATH=/usr/local/lib
SCRIPTS=$HOME/.config/scripts

51
example/flake.nix Normal file
View file

@ -0,0 +1,51 @@
{
description = "some dots";
inputs = {
nixpkgs.url = "github:NixOs/nixpkgs/nixos-unstable";
stable.url = "github:NixOs/nixpkgs/nixos-24.05";
dashNix = {
url = "github:Xetibo/DashNix";
inputs = {
nixpkgs.follows = "nixpkgs";
stable.follows = "stable";
};
};
};
outputs = inputs: {
nixosConfigurations = inputs.dashNix.dashNixLib.buildSystems {root = ./.;};
};
nixConfig = {
builders-use-substitutes = true;
extra-substituters = [
"https://hyprland.cachix.org"
"https://anyrun.cachix.org"
"https://cache.garnix.io"
"https://oxipaste.cachix.org"
"https://oxinoti.cachix.org"
"https://oxishut.cachix.org"
"https://oxidash.cachix.org"
"https://oxicalc.cachix.org"
"https://hyprdock.cachix.org"
"https://reset.cachix.org"
"https://dashvim.cachix.org"
];
extra-trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"oxipaste.cachix.org-1:n/oA3N3Z+LJP7eIWOwuoLd9QnPyZXqFjLgkahjsdDGc="
"oxinoti.cachix.org-1:dvSoJl2Pjo5HMaNngdBbSaixK9BSf2N8gzjP2MdGvfc="
"oxishut.cachix.org-1:axyAGF3XMh1IyMAW4UMbQCdMNovDH0KH6hqLLRJH8jU="
"oxidash.cachix.org-1:5K2FNHp7AS8VF7LmQkJAUG/dm6UHCz4ngshBVbjFX30="
"oxicalc.cachix.org-1:qF3krFc20tgSmtR/kt6Ku/T5QiG824z79qU5eRCSBTQ="
"hyprdock.cachix.org-1:HaROK3fBvFWIMHZau3Vq1TLwUoJE8yRbGLk0lEGzv3Y="
"reset.cachix.org-1:LfpnUUdG7QM/eOkN7NtA+3+4Ar/UBeYB+3WH+GjP9Xo="
"dashvim.cachix.org-1:uLRdxp1WOWHnsZZtu3SwUWZRsvC7SXo0Gyk3tIefuL0="
];
};
}

View file

@ -0,0 +1,68 @@
{config, ...}: {
# TODO denote important changes
# variables for system
conf = {
# TODO your username
username = "exampleName";
# TODO only needed when you use intel -> amd is default
# cpu = "intel";
# TODO your xkb layout
locale = "en_US.UTF-8";
# TODO your timezone
timezone = "Europe/Zurich";
};
# modules
mods = {
# default disk config has root home boot and swap partition, overwrite if you want something different
sops.enable = false;
nextcloud.enable = false;
wm.monitors = [
# Example
# {
# name = "DP-1";
# resolutionX = 3440;
# resolutionY = 1440;
# refreshrate = 180;
# positionX = 2560;
# positionY = 0;
# scale = 1;
# transform = "0";
# vrr = false;
# }
];
gpu.nvidia.enable = true;
kdeConnect.enable = true;
# login manager:
# default is greetd
# greetd = { };
# sddm = { };
# gdm = { };
drives = {
# default assumes ROOT, BOOT, HOME and SWAP labaled drives exist
# for an example without HOME see below
# defaultDrives.enable = false;
# extraDrives = [
# {
# name = "boot";
# drive = {
# device = "/dev/disk/by-label/BOOT";
# fsType = "vfat";
# options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
# };
# }
# {
# name = "";
# drive = {
# device = "/dev/disk/by-label/ROOT";
# fsType = "ext4";
# options = [ "noatime" "nodiratime" "discard" ];
# };
# }
# ];
# You can also use disko to format your disks on installation.
# Please refer to the Documentation about the drives module for an example.
};
};
}

View file

@ -0,0 +1,3 @@
{
# this file adds custom NixOS configuration
}

View file

@ -0,0 +1,3 @@
{
# this file adds custom home-manager configuration
}

View file

@ -0,0 +1,3 @@
# Secrets
This file is for sops-nix and is also where your keys for various secrets will be stored.

View file

View file

@ -1,12 +0,0 @@
complete tide --no-files
set -l subcommands bug-report configure
complete tide -x -n __fish_use_subcommand -a bug-report -d "Print info for use in bug reports"
complete tide -x -n __fish_use_subcommand -a configure -d "Run the configuration wizard"
complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s h -l help -d "Print help message"
complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s v -l version -d "Print tide version"
complete tide -x -n '__fish_seen_subcommand_from bug-report' -l clean -d "Run clean Fish instance and install Tide"
complete tide -x -n '__fish_seen_subcommand_from bug-report' -l verbose -d "Print full Tide configuration"

View file

@ -1,41 +0,0 @@
function _tide_init_install --on-event _tide_init_install
set -U VIRTUAL_ENV_DISABLE_PROMPT true
source (functions --details _tide_sub_configure)
_load_config lean
_tide_finish
if status is-interactive
tide bug-report --check || sleep 4
if contains ilancosman/tide (string lower $_fisher_plugins)
set_color bryellow
echo "ilancosman/tide is a development branch. Please install from a release tag:"
echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi
sleep 3
end
switch (read --prompt-str="Configure tide prompt? [Y/n] " | string lower)
case y ye yes ''
tide configure
case '*'
echo -s \n 'Run ' (echo -ns "tide configure" | fish_indent --ansi) ' to customize your prompt.'
end
end
end
function _tide_init_update --on-event _tide_init_update
# Warn users who install from main branch
if contains ilancosman/tide (string lower $_fisher_plugins)
set_color bryellow
echo "ilancosman/tide is a development branch. Please install from a release tag:"
echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi
sleep 3
end
end
function _tide_init_uninstall --on-event _tide_init_uninstall
set -e VIRTUAL_ENV_DISABLE_PROMPT
set -e (set -U --names | string match --entire -r '^_?tide')
functions --erase (functions --all | string match --entire -r '^_?tide')
end

View file

@ -1,140 +0,0 @@
if status is-interactive
# Commands to run in interactive sessions can go here
end
# =============================================================================
#
# Utility functions for zoxide.
#
set fish_greeting
function sudo --description "Replacement for Bash 'sudo !!' command to run last command using sudo."
if test "$argv" = !!
echo sudo $history[1]
eval command sudo $history[1]
else
command sudo $argv
end
end
alias ls='lsd'
alias :q='exit'
alias gh='git push origin'
alias gl='git pull origin'
alias gm='git commit -m'
alias ga="git add -A"
alias g+='bear -- g++ -Wextra -Werror -std=c++20'
alias s="kitty +kitten ssh"
alias zl='z "" '
alias jo='joshuto'
alias nv='neovide --novsync --nofork'
alias cr='cargo run'
alias grep='rg'
alias cat='bat'
alias find='fd'
alias rm='rip'
# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
function __zoxide_pwd
builtin pwd -L
end
# A copy of fish's internal cd function. This makes it possible to use
# `alias cd=z` without causing an infinite loop.
if ! builtin functions -q __zoxide_cd_internal
if builtin functions -q cd
builtin functions -c cd __zoxide_cd_internal
else
alias __zoxide_cd_internal='builtin cd'
end
end
# cd + custom logic based on the value of _ZO_ECHO.
function __zoxide_cd
__zoxide_cd_internal $argv
end
# =============================================================================
#
# Hook configuration for zoxide.
#
# Initialize hook to add new entries to the database.
function __zoxide_hook --on-variable PWD
test -z "$fish_private_mode"
and command zoxide add -- (__zoxide_pwd)
end
# =============================================================================
#
# When using zoxide with --no-cmd, alias these internal functions as desired.
#
set __zoxide_z_prefix 'z!'
# Jump to a directory using only keywords.
function __zoxide_z
set -l argc (count $argv)
set -l completion_regex '^'(string escape --style=regex $__zoxide_z_prefix)'(.*)$'
if test $argc -eq 0
__zoxide_cd $HOME
else if test "$argv" = -
__zoxide_cd -
else if test $argc -eq 1 -a -d $argv[1]
__zoxide_cd $argv[1]
else if set -l result (string match --groups-only --regex $completion_regex $argv[-1])
__zoxide_cd $result
else
set -l result (command zoxide query --exclude (__zoxide_pwd) -- $argv)
and __zoxide_cd $result
end
end
# Completions for `z`.
function __zoxide_z_complete
set -l tokens (commandline --current-process --tokenize)
set -l curr_tokens (commandline --cut-at-cursor --current-process --tokenize)
if test (count $tokens) -le 2 -a (count $curr_tokens) -eq 1
# If there are < 2 arguments, use `cd` completions.
__fish_complete_directories "$tokens[2]" ''
else if test (count $tokens) -eq (count $curr_tokens)
# If the last argument is empty, use interactive selection.
set -l query $tokens[2..-1]
set -l result (zoxide query --exclude (__zoxide_pwd) -i -- $query)
and echo $__zoxide_z_prefix$result
commandline --function repaint
end
end
# Jump to a directory using interactive search.
function __zoxide_zi
set -l result (command zoxide query -i -- $argv)
and __zoxide_cd $result
end
# =============================================================================
#
# Commands for zoxide. Disable these using --no-cmd.
#
abbr --erase z &>/dev/null
complete --command z --erase
function z
__zoxide_z $argv
end
complete --command z --no-files --arguments '(__zoxide_z_complete)'
abbr --erase zi &>/dev/null
complete --command zi --erase
function zi
__zoxide_zi $argv
end
# =============================================================================
#
# To initialize zoxide, add this to your configuration (usually
# ~/.config/fish/config.fish):
#
# zoxide init fish | source
#
# Note: zoxide only supports fish v3.4.0 and above.
#

View file

@ -1 +0,0 @@
ilancosman/tide@v5

View file

@ -1,19 +0,0 @@
function _tide_1_line_prompt
set -g add_prefix
_tide_side=left for item in $_tide_left_items
_tide_item_$item
end
set_color $prev_bg_color -b normal
echo $tide_left_prompt_suffix
set -g add_prefix
_tide_side=right for item in $_tide_right_items
_tide_item_$item
end
set_color $prev_bg_color -b normal
echo $tide_right_prompt_suffix
end
function _tide_item_pwd
_tide_print_item pwd @PWD@
end

View file

@ -1,31 +0,0 @@
function _tide_2_line_prompt
set -g add_prefix
_tide_side=left for item in $_tide_left_items
_tide_item_$item
end
if not set -e add_prefix
set_color $prev_bg_color -b normal
echo $tide_left_prompt_suffix
end
echo
set -g add_prefix
_tide_side=right for item in $_tide_right_items
_tide_item_$item
end
if not set -e add_prefix
set_color $prev_bg_color -b normal
echo $tide_right_prompt_suffix
end
end
function _tide_item_pwd
_tide_print_item pwd @PWD@
end
function _tide_item_newline
set_color $prev_bg_color -b normal
v=tide_"$_tide_side"_prompt_suffix echo $$v
set -g add_prefix
end

View file

@ -1,17 +0,0 @@
function _tide_cache_variables
# Same-color-separator color
set_color $tide_prompt_color_separator_same_color | read -gx _tide_color_separator_same_color
# git
contains git $_tide_left_items $_tide_right_items && set_color $tide_git_color_branch | read -gx _tide_location_color
# private_mode
if contains private_mode $_tide_left_items $_tide_right_items && test -n "$fish_private_mode"
set -gx _tide_private_mode
else
set -e _tide_private_mode
end
# item padding
test "$tide_prompt_pad_items" = true && set -gx _tide_pad ' ' || set -e _tide_pad
end

View file

@ -1,75 +0,0 @@
# Outputs icon, color, bg_color
function _tide_detect_os
set -lx defaultColor 080808 CED7CF
switch (uname | string lower)
case darwin
printf %s\n  D6D6D6 333333 # from apple.com header
case freebsd openbsd dragonfly
printf %s\n  FFFFFF AB2B28 # https://freebsdfoundation.org/about-us/about-the-foundation/project/
case 'cygwin*'
printf %s\n  FFFFFF 00CCFF # https://answers.microsoft.com/en-us/windows/forum/all/what-is-the-official-windows-8-blue-rgb-or-hex/fd57144b-f69b-42d8-8c21-6ca911646e44
case linux
if test (uname -o) = Android
echo ﲎ # This character is evil and messes up code display, so it's put on its own line
# https://developer.android.com/distribute/marketing-tools/brand-guidelines
printf %s\n 3DDC84 3C3F41 # fg is from above link, bg is from Android Studio default dark theme
else
_tide_detect_os_linux_cases /etc/os-release ID ||
_tide_detect_os_linux_cases /etc/os-release ID_LIKE ||
_tide_detect_os_linux_cases /etc/lsb-release DISTRIB_ID ||
printf %s\n$defaultColor
end
case '*'
echo -ns '?'
end
end
function _tide_detect_os_linux_cases -a file key
test -e $file || return
set -l split_file (string split '=' <$file)
set -l key_index (contains --index $key $split_file) || return
set -l value (string trim --chars='"' $split_file[(math $key_index + 1)])
# Anything which would have pure white background has been changed to D4D4D4
# It was just too bright otherwise
switch (string lower $value)
case alpine
printf %s\n  FFFFFF 0D597F # from alpine logo
case arch
printf %s\n  1793D1 4D4D4D # from arch wiki header
case centos
printf %s\n000000 D4D4D4 # https://wiki.centos.org/ArtWork/Brand/Logo, monochromatic
case debian
printf %s\n  C70036 D4D4D4 # from debian logo https://www.debian.org/logos/openlogo-nd-100.png
case devuan
printf %s\n$defaultColor # logo is monochromatic
case elementary
printf %s\n000000 D4D4D4 # https://elementary.io/brand, encouraged to be monochromatic
case fedora
printf %s\n  FFFFFF 294172 # from logo https://fedoraproject.org/w/uploads/2/2d/Logo_fedoralogo.png
case gentoo
printf %s\n  FFFFFF 54487A # https://wiki.gentoo.org/wiki/Project:Artwork/Colors
case mageia
printf %s\n  FFFFFF 262F45 # https://wiki.mageia.org/en/Artwork_guidelines
case manjaro
printf %s\n  FFFFFF 35BF5C # from https://gitlab.manjaro.org/artwork/branding/logo/-/blob/master/logo.svg
case mint
printf %s\n  FFFFFF 69B53F # extracted from https://linuxmint.com/web/img/favicon.ico
case nixos
printf %s\n  FFFFFF 5277C3 # https://github.com/NixOS/nixos-artwork/tree/master/logo
case opensuse-leap opensuse-tumbleweed
printf %s\n  73BA25 173f4f # https://en.opensuse.org/openSUSE:Artwork_brand
case raspbian
printf %s\n  FFFFFF A22846 # https://static.raspberrypi.org/files/Raspberry_Pi_Visual_Guidelines_2020.pdf
case rhel
printf %s\n  EE0000 000000 # https://www.redhat.com/en/about/brand/standards/color
case sabayon
printf %s\n$defaultColor # Can't find colors, and they are rebranding anyway
case slackware
printf %s\n$defaultColor # Doesn't really have a logo, and the colors are too close to PWD blue anyway
case ubuntu
printf %s\n  E95420 D4D4D4 # https://design.ubuntu.com/brand/
case '*'
return 1
end
end

View file

@ -1,3 +0,0 @@
function _tide_find_and_remove -a name list --no-scope-shadowing
contains --index $name $$list | read -l index && set -e "$list"[$index]
end

View file

@ -1,11 +0,0 @@
function _tide_item_aws
# AWS_PROFILE overrides AWS_DEFAULT_PROFILE, AWS_REGION overrides AWS_DEFAULT_REGION
set -q AWS_PROFILE && set -l AWS_DEFAULT_PROFILE $AWS_PROFILE
set -q AWS_REGION && set -l AWS_DEFAULT_REGION $AWS_REGION
if test -n "$AWS_DEFAULT_PROFILE" && test -n "$AWS_DEFAULT_REGION"
_tide_print_item aws $tide_aws_icon' ' "$AWS_DEFAULT_PROFILE/$AWS_DEFAULT_REGION"
else if test -n "$AWS_DEFAULT_PROFILE$AWS_DEFAULT_REGION"
_tide_print_item aws $tide_aws_icon' ' "$AWS_DEFAULT_PROFILE$AWS_DEFAULT_REGION"
end
end

View file

@ -1,17 +0,0 @@
function _tide_item_character
test $_tide_status = 0 && set_color $tide_character_color || set_color $tide_character_color_failure
set -q add_prefix || echo -ns ' '
test "$fish_key_bindings" = fish_default_key_bindings && echo -ns $tide_character_icon ||
switch $fish_bind_mode
case insert
echo -ns $tide_character_icon
case default
echo -ns $tide_character_vi_icon_default
case replace replace_one
echo -ns $tide_character_vi_icon_replace
case visual
echo -ns $tide_character_vi_icon_visual
end
end

View file

@ -1,3 +0,0 @@
function _tide_item_chruby
test -n "$RUBY_VERSION" && _tide_print_item chruby $tide_chruby_icon' ' $RUBY_VERSION
end

View file

@ -1,12 +0,0 @@
function _tide_item_cmd_duration
test $CMD_DURATION -gt $tide_cmd_duration_threshold && t=(
math -s0 "$CMD_DURATION/3600000" # Hours
math -s0 "$CMD_DURATION/60000"%60 # Minutes
math -s$tide_cmd_duration_decimals "$CMD_DURATION/1000"%60) if test $t[1] != 0
_tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[1]h $t[2]m $t[3]s"
else if test $t[2] != 0
_tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[2]m $t[3]s"
else
_tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[3]s"
end
end

View file

@ -1,15 +0,0 @@
function _tide_item_context
if set -q SSH_TTY
set -lx tide_context_color $tide_context_color_ssh
test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER ||
h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts])
else if test "$EUID" = 0
set -lx tide_context_color $tide_context_color_root
test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER ||
h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts])
else if test "$tide_context_always_display" = true
set -lx tide_context_color $tide_context_color_default
test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER ||
h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts])
end
end

View file

@ -1,4 +0,0 @@
function _tide_item_crystal
path is $_tide_parent_dirs/shard.yml &&
_tide_print_item crystal $tide_crystal_icon' ' (crystal --version | string match -r "[\d.]+")[1]
end

View file

@ -1,5 +0,0 @@
function _tide_item_docker
docker context inspect --format '{{.Name}}' | read -l context
contains -- "$context" $tide_docker_default_contexts ||
_tide_print_item docker $tide_docker_icon' ' $context
end

View file

@ -1,67 +0,0 @@
function _tide_item_git
if git branch --show-current 2>/dev/null | string replace -r ".+(.{$tide_git_truncation_length})" '…$1' | read -l location
git rev-parse --git-dir --is-inside-git-dir | read -fL gdir in_gdir
set location $_tide_location_color$location
else if test $pipestatus[1] != 0
return
else if git tag --points-at HEAD | string replace -r ".+(.{$tide_git_truncation_length})" '…$1' | read location
git rev-parse --git-dir --is-inside-git-dir | read -fL gdir in_gdir
set location '#'$_tide_location_color$location
else
git rev-parse --git-dir --is-inside-git-dir --short HEAD | read -fL gdir in_gdir location
set location @$_tide_location_color$location
end
# Operation
if test -d $gdir/rebase-merge
read -f step <$gdir/rebase-merge/msgnum
read -f total_steps <$gdir/rebase-merge/end
test -f $gdir/rebase-merge/interactive && set -f operation rebase-i || set -f operation rebase-m
else if test -d $gdir/rebase-apply
read -f step <$gdir/rebase-apply/next
read -f total_steps <$gdir/rebase-apply/last
if test -f $gdir/rebase-apply/rebasing
set -f operation rebase
else if test -f $gdir/rebase-apply/applying
set -f operation am
else
set -f operation am/rebase
end
else if test -f $gdir/MERGE_HEAD
set -f operation merge
else if test -f $gdir/CHERRY_PICK_HEAD
set -f operation cherry-pick
else if test -f $gdir/REVERT_HEAD
set -f operation revert
else if test -f $gdir/BISECT_LOG
set -f operation bisect
end
# Git status/stash + Upstream behind/ahead
test $in_gdir = true && set -l _set_dir_opt -C $gdir/..
# Suppress errors in case we are in a bare repo or there is no upstream
stat=(git $_set_dir_opt --no-optional-locks status --porcelain 2>/dev/null) \
string match -qr '(0|(?<stash>.*))\n(0|(?<conflicted>.*))\n(0|(?<staged>.*))
(0|(?<dirty>.*))\n(0|(?<untracked>.*))(\n(0|(?<behind>.*))\t(0|(?<ahead>.*)))?' \
"$(git $_set_dir_opt stash list 2>/dev/null | count
string match -r ^UU $stat | count
string match -r ^[ADMR]. $stat | count
string match -r ^.[ADMR] $stat | count
string match -r '^\?\?' $stat | count
git rev-list --count --left-right @{upstream}...HEAD 2>/dev/null)"
if test -n "$operation$conflicted"
set -g tide_git_bg_color $tide_git_bg_color_urgent
else if test -n "$staged$dirty$untracked"
set -g tide_git_bg_color $tide_git_bg_color_unstable
end
_tide_print_item git $_tide_location_color$tide_git_icon' ' (set_color white; echo -ns $location
set_color $tide_git_color_operation; echo -ns ' '$operation ' '$step/$total_steps
set_color $tide_git_color_upstream; echo -ns ' ⇣'$behind ' ⇡'$ahead
set_color $tide_git_color_stash; echo -ns ' *'$stash
set_color $tide_git_color_conflicted; echo -ns ' ~'$conflicted
set_color $tide_git_color_staged; echo -ns ' +'$staged
set_color $tide_git_color_dirty; echo -ns ' !'$dirty
set_color $tide_git_color_untracked; echo -ns ' ?'$untracked)
end

View file

@ -1,4 +0,0 @@
function _tide_item_go
path is $_tide_parent_dirs/go.mod &&
_tide_print_item go $tide_go_icon' ' (go version | string match -r "[\d.]+")
end

View file

@ -1,4 +0,0 @@
function _tide_item_java
path is $_tide_parent_dirs/pom.xml &&
_tide_print_item java $tide_java_icon' ' (java -version &| string match -r "[\d.]+")[1]
end

View file

@ -1,3 +0,0 @@
function _tide_item_jobs
set -q _tide_jobs && _tide_print_item jobs $tide_jobs_icon
end

View file

@ -1,4 +0,0 @@
function _tide_item_kubectl
kubectl config view --minify --output 'jsonpath={.current-context}/{..namespace}' 2>/dev/null | read -l context &&
_tide_print_item kubectl $tide_kubectl_icon' ' (string replace -r '/(|default)$' '' $context)
end

View file

@ -1,3 +0,0 @@
function _tide_item_nix_shell
set -q IN_NIX_SHELL && _tide_print_item nix_shell $tide_nix_shell_icon' ' $IN_NIX_SHELL
end

View file

@ -1,4 +0,0 @@
function _tide_item_node
path is $_tide_parent_dirs/package.json &&
_tide_print_item node $tide_node_icon' ' (node --version | string trim --chars=v)
end

View file

@ -1,3 +0,0 @@
function _tide_item_os
_tide_print_item os $tide_os_icon
end

View file

@ -1,4 +0,0 @@
function _tide_item_php
path is $_tide_parent_dirs/composer.json &&
_tide_print_item php $tide_php_icon' ' (php --version | string match -r 'PHP ([\d.]+)')[2]
end

View file

@ -1,3 +0,0 @@
function _tide_item_private_mode
set -q _tide_private_mode && _tide_print_item private_mode $tide_private_mode_icon
end

View file

@ -1,4 +0,0 @@
function _tide_item_rustc
path is $_tide_parent_dirs/Cargo.toml &&
_tide_print_item rustc $tide_rustc_icon' ' (rustc --version | string split ' ')[2]
end

View file

@ -1,4 +0,0 @@
function _tide_item_shlvl
# Non-interactive shells do not increment SHLVL, so we don't need to subtract 1
test $SHLVL -gt $tide_shlvl_threshold && _tide_print_item shlvl $tide_shlvl_icon' ' $SHLVL
end

View file

@ -1,15 +0,0 @@
function _tide_item_status
if string match -qv 0 $_tide_pipestatus # If there is a failure anywhere in the pipestatus
if test "$_tide_pipestatus" = 1 # If simple failure
contains character $_tide_left_items || tide_status_bg_color=$tide_status_bg_color_failure \
tide_status_color=$tide_status_color_failure _tide_print_item status $tide_status_icon_failure' ' 1
else
fish_status_to_signal $_tide_pipestatus | string replace SIG '' | string join '|' | read -l out
test $_tide_status = 0 && _tide_print_item status $tide_status_icon' ' $out ||
tide_status_bg_color=$tide_status_bg_color_failure tide_status_color=$tide_status_color_failure \
_tide_print_item status $tide_status_icon_failure' ' $out
end
else if not contains character $_tide_left_items
_tide_print_item status $tide_status_icon
end
end

View file

@ -1,6 +0,0 @@
function _tide_item_terraform
if path is $_tide_parent_dirs/.terraform
terraform workspace show | read -l workspace
test $workspace != default && _tide_print_item terraform $tide_terraform_icon' ' $workspace
end
end

View file

@ -1,3 +0,0 @@
function _tide_item_time
_tide_print_item time (date +$tide_time_format)
end

View file

@ -1,3 +0,0 @@
function _tide_item_toolbox
test -e /run/.toolboxenv && _tide_print_item toolbox $tide_toolbox_icon' ' $hostname
end

View file

@ -1,16 +0,0 @@
function _tide_item_vi_mode
test "$fish_key_bindings" != fish_default_key_bindings && switch $fish_bind_mode
case default
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_default tide_vi_mode_color=$tide_vi_mode_color_default \
_tide_print_item vi_mode $tide_vi_mode_icon_default
case insert
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_insert tide_vi_mode_color=$tide_vi_mode_color_insert \
_tide_print_item vi_mode $tide_vi_mode_icon_insert
case replace replace_one
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_replace tide_vi_mode_color=$tide_vi_mode_color_replace \
_tide_print_item vi_mode $tide_vi_mode_icon_replace
case visual
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_visual tide_vi_mode_color=$tide_vi_mode_color_visual \
_tide_print_item vi_mode $tide_vi_mode_icon_visual
end
end

View file

@ -1,11 +0,0 @@
function _tide_item_virtual_env
test -n "$VIRTUAL_ENV" && split_virtual_env=(string split / "$VIRTUAL_ENV") if test $split_virtual_env[-2] = virtualenvs
# pipenv $VIRTUAL_ENV looks like /home/ilan/.local/share/virtualenvs/pipenv_project-EwRYuc3l
# Detect whether we are using pipenv by looking for virtualenvs. If so, remove the hash at the end.
_tide_print_item virtual_env $tide_virtual_env_icon' ' (string split -r -m1 - "$split_virtual_env[-1]")[1]
else if contains -- $split_virtual_env[-1] virtualenv venv .venv env # avoid generic names
_tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-2]
else
_tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-1]
end
end

View file

@ -1,7 +0,0 @@
function _tide_parent_dirs --on-variable PWD
set -g _tide_parent_dirs (string escape (
for dir in (string split / -- $PWD)
set -la parts $dir
string join / -- $parts
end))
end

View file

@ -1,22 +0,0 @@
function _tide_print_item -a item
v=tide_"$item"_bg_color set -f item_bg_color $$v
if set -e add_prefix
set_color $item_bg_color -b normal
v=tide_"$_tide_side"_prompt_prefix echo -ns $$v
else if test "$item_bg_color" = "$prev_bg_color"
v=tide_"$_tide_side"_prompt_separator_same_color echo -ns $_tide_color_separator_same_color$$v
else if test $_tide_side = left
set_color $prev_bg_color -b $item_bg_color
echo -ns $tide_left_prompt_separator_diff_color
else
set_color $item_bg_color -b $prev_bg_color
echo -ns $tide_right_prompt_separator_diff_color
end
v=tide_"$item"_color set_color $$v -b $item_bg_color
echo -ns $_tide_pad $argv[2..] $_tide_pad
set -g prev_bg_color $item_bg_color
end

View file

@ -1,37 +0,0 @@
set_color -o $tide_pwd_color_anchors | read -l color_anchors
set_color $tide_pwd_color_truncated_dirs | read -l color_truncated
set -l reset_to_color_dirs (set_color normal -b $tide_pwd_bg_color; set_color $tide_pwd_color_dirs)
set -l unwritable_icon $tide_pwd_icon_unwritable' '
set -l home_icon $tide_pwd_icon_home' '
set -l pwd_icon $tide_pwd_icon' '
eval "function _tide_pwd
if set -l split_pwd (string replace -r '^$HOME' '~' -- \$PWD | string split /)
test -w . && set -f split_output \"$pwd_icon\$split_pwd[1]\" \$split_pwd[2..] ||
set -f split_output \"$unwritable_icon\$split_pwd[1]\" \$split_pwd[2..]
set split_output[-1] \"$color_anchors\$split_output[-1]$reset_to_color_dirs\"
else
set -f split_output \"$home_icon$color_anchors~\"
end
string join / -- \$split_output | string length -V | read -g _tide_pwd_len
i=1 for dir_section in \$split_pwd[2..-2]
string join -- / \$split_pwd[..\$i] | string replace '~' $HOME | read -l parent_dir # Uses i before increment
math \$i+1 | read i
if path is \$parent_dir/\$dir_section/\$tide_pwd_markers
set split_output[\$i] \"$color_anchors\$dir_section$reset_to_color_dirs\"
else if test \$_tide_pwd_len -gt \$dist_btwn_sides
set -l trunc
while string match -qr \"(?<trunc>\$trunc.)\" \$dir_section && v=\$parent_dir/\$trunc*/ set -q v[2]
end
test -n \"\$trunc\" && set split_output[\$i] \"$color_truncated\$trunc$reset_to_color_dirs\" &&
string join / \$split_output | string length -V | read _tide_pwd_len
end
end
string join -- / \"$reset_to_color_dirs\$split_output[1]\" \$split_output[2..]
end"

View file

@ -1,21 +0,0 @@
function _tide_remove_unusable_items
# Remove tool-specific items for tools the machine doesn't have installed
set -l removed_items
for item in aws chruby crystal docker git go java kubectl nix_shell node php rustc terraform toolbox virtual_env
set -l cli_names $item
switch $item
case virtual_env
set cli_names python python3
case nix_shell
set cli_names nix nix-shell
end
type --query $cli_names || set -a removed_items $item
end
set -U _tide_left_items (for item in $tide_left_prompt_items
contains $item $removed_items || echo $item
end)
set -U _tide_right_items (for item in $tide_right_prompt_items
contains $item $removed_items || echo $item
end)
end

View file

@ -1,73 +0,0 @@
function _tide_sub_bug-report
argparse c/clean v/verbose check -- $argv
set -l fish_path (status fish-path)
if set -q _flag_clean
HOME=(mktemp -d) $fish_path --init-command "curl --silent \
https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish |
source && fisher install ilancosman/tide@v5"
else if set -q _flag_verbose
set --long | string match -r "^_?tide.*" | # Get only tide variables
string match -r --invert "^_tide_prompt_var.*" # Remove _tide_prompt_var
else
set -l fish_version ($fish_path --version | string match -r "fish, version (\d\.\d\.\d)")[2]
_tide_check_version Fish fish-shell/fish-shell "(\d\.\d\.\d)" $fish_version || return
set -l tide_version (tide --version | string match -r "tide, version (\d\.\d\.\d)")[2]
_tide_check_version Tide IlanCosman/tide "v(\d\.\d\.\d)" $tide_version || return
if command --query git
test (git --version | string match -r "git version ([\d\.]*)" | string replace --all . '')[2] -gt 2220
_tide_check_condition \
"Your git version is too old." \
"Tide requires at least version 2.22." \
"Please update before submitting a bug report." || return
end
# Check that omf is not installed
not functions --query omf
_tide_check_condition \
"Tide does not work with oh-my-fish installed." \
"Please uninstall it before submitting a bug report." || return
if not set -q _flag_check
set -l fish_startup_time ($fish_path -ic "time $fish_path -c exit" 2>|
string match -r "Executed in(.*)fish" | string trim)[2]
read --local --prompt-str "What operating system are you using? (e.g Ubuntu 20.04): " os
read --local --prompt-str "What terminal emulator are you using? (e.g Kitty): " terminal_emulator
printf '%b\n' "\nPlease copy the following information into the issue:\n" \
"fish version: $fish_version" \
"tide version: $tide_version" \
"term: $TERM" \
"os: $os" \
"terminal emulator: $terminal_emulator" \
"fish startup: $fish_startup_time" \
"fisher plugins: $_fisher_plugins"
end
end
end
function _tide_check_version -a program_name repo_name regex_to_get_version current_version
curl --silent https://github.com/$repo_name/releases/latest |
string match -r ".*$repo_name/releases/tag/$regex_to_get_version.*" |
read --local --line __ latestVersion
string match --quiet -r "^$latestVersion" "$current_version"
_tide_check_condition \
"Your $program_name version is out of date." \
"The latest is $latestVersion. You have $current_version." \
"Please update before submitting a bug report."
end
function _tide_check_condition
if test "$status" != 0
set_color red
printf '%s\n' $argv
set_color normal
return 1
end
return 0
end

View file

@ -1,95 +0,0 @@
set -g _tide_color_dark_blue 0087AF
set -g _tide_color_dark_green 5FAF00
set -g _tide_color_gold D7AF00
set -g _tide_color_green 5FD700
set -g _tide_color_light_blue 00AFFF
# Create an empty fake function for each item
for func in _fake(functions --all | string match --entire _tide_item)
function $func
end
end
for file in (status dirname)/tide/configure/{choices, functions}/**.fish
source $file
end
function _tide_sub_configure
if test $COLUMNS -lt 55 -o $LINES -lt 21
echo 'Terminal size too small; must be at least 55 x 21'
return 1
end
_tide_detect_os | read -g --line os_branding_icon os_branding_color os_branding_bg_color
set -g fake_columns $COLUMNS
test $fake_columns -gt 90 && set fake_columns 90
set -g fake_lines $LINES
set -g _tide_selected_option
_next_choice all/style
end
function _next_choice -a nextChoice
set -q _tide_selected_option || return 0
set -l cmd (string split '/' $nextChoice)[2]
$cmd
end
function _tide_title -a text
command -q clear && clear
set_color -o
string pad --width (math --scale=0 "$fake_columns/2" + (string length $text)/2) $text
set_color normal
end
function _tide_option -a symbol text
set -ga _tide_option_list $symbol
set_color -o
echo "($symbol) $text"
set_color normal
end
function _tide_menu
set -l list_with_slashes (string join '/' $_tide_option_list)
echo '(r) Restart from the beginning'
echo '(q) Quit and do nothing'\n
while true
set_color -o
read --nchars 1 --prompt-str "Choice [$list_with_slashes/r/q] " input
set_color normal
switch $input
case r
set -e _tide_option_list
_next_choice all/style
break
case q
set -e _tide_selected_option # Skip through all the _next_choices
set -e _tide_option_list
command -q clear && clear
break
case $_tide_option_list
set -e _tide_option_list
set -g _tide_selected_option $input
break
end
end
end
function _tide_display_prompt -a var_name var_value
test -n "$var_name" && set -g $var_name $var_value
_fake_tide_cache_variables
set -l prompt (_fake_tide_prompt)
set -l bottom_left_prompt_string_length (string length --visible $prompt[-1])
set -l right_prompt_string (string pad --width (math $fake_columns-$bottom_left_prompt_string_length) $prompt[1])
set -l prompt[-1] "$prompt[-1]$right_prompt_string"
string unescape $prompt[2..]
set_color normal
echo
end

View file

@ -1 +0,0 @@
# Disable default vi prompt

View file

@ -1,90 +0,0 @@
function fish_prompt
end # In case this file gets loaded non-interactively, e.g by conda
status is-interactive || exit
_tide_remove_unusable_items
_tide_cache_variables
_tide_parent_dirs
source (functions --details _tide_pwd)
set -l prompt_var _tide_prompt_$fish_pid
set -U $prompt_var # Set var here so if we erase $prompt_var, bg job won't set a uvar
set_color normal | read -l color_normal
status fish-path | read -l fish_path
# _tide_repaint prevents us from creating a second background job
function _tide_refresh_prompt --on-variable $prompt_var --on-variable COLUMNS
set -g _tide_repaint
commandline -f repaint
end
if contains newline $_tide_left_items # two line prompt initialization
test "$tide_prompt_add_newline_before" = true && set -l add_newline '\n'
set_color $tide_prompt_color_frame_and_connection -b normal | read -l prompt_and_frame_color
set -l column_offset 5
test "$tide_left_prompt_frame_enabled" = true &&
set -l top_left_frame "$prompt_and_frame_color╭─" &&
set -l bot_left_frame "$prompt_and_frame_color╰─" &&
set column_offset (math $column_offset-2)
test "$tide_right_prompt_frame_enabled" = true &&
set -l top_right_frame "$prompt_and_frame_color─╮" &&
set -l bot_right_frame "$prompt_and_frame_color─╯" &&
set column_offset (math $column_offset-2)
eval "
function fish_prompt
_tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint
jobs -q && set -lx _tide_jobs
$fish_path -c \"set _tide_pipestatus \$_tide_pipestatus
set _tide_parent_dirs \$_tide_parent_dirs
PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_2_line_prompt)\" &
builtin disown
command kill \$_tide_last_pid 2>/dev/null
set -g _tide_last_pid \$last_pid
end
math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][3]\")+$column_offset | read -lx dist_btwn_sides
echo -ns $add_newline'$top_left_frame'(string replace @PWD@ (_tide_pwd) \"\$$prompt_var[1][1]\")'$prompt_and_frame_color'
string repeat -Nm(math max 0, \$dist_btwn_sides-\$_tide_pwd_len) '$tide_prompt_icon_connection'
echo -ns \"\$$prompt_var[1][3]$top_right_frame\"\n\"$bot_left_frame\$$prompt_var[1][2]$color_normal \"
end
function fish_right_prompt
string unescape \"\$$prompt_var[1][4]$bot_right_frame$color_normal\"
end"
else # one line prompt initialization
test "$tide_prompt_add_newline_before" = true && set -l add_newline '\0'
math 5 -$tide_prompt_min_cols | read -l column_offset
test $column_offset -ge 0 && set column_offset "+$column_offset"
eval "
function fish_prompt
_tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint
jobs -q && set -lx _tide_jobs
$fish_path -c \"set _tide_pipestatus \$_tide_pipestatus
set _tide_parent_dirs \$_tide_parent_dirs
PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_1_line_prompt)\" &
builtin disown
command kill \$_tide_last_pid 2>/dev/null
set -g _tide_last_pid \$last_pid
end
math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][2]\")$column_offset | read -lx dist_btwn_sides
string replace @PWD@ (_tide_pwd) $add_newline \$$prompt_var[1][1]'$color_normal '
end
function fish_right_prompt
string unescape \"\$$prompt_var[1][2]$color_normal\"
end"
end
eval "function _tide_on_fish_exit --on-event fish_exit
set -e $prompt_var
end"

View file

@ -1,4 +0,0 @@
function nheko --description 'alias nheko nheko --style Breeze'
command nheko --style Breeze $argv
end

View file

@ -1,27 +0,0 @@
function tide --description 'Manage your Tide prompt'
argparse --stop-nonopt v/version h/help -- $argv
if set -q _flag_version
echo 'tide, version 5.5.1'
else if set -q _flag_help
_tide_help
else if functions --query _tide_sub_$argv[1]
_tide_sub_$argv[1] $argv[2..]
else
_tide_help
return 1
end
end
function _tide_help
printf %s\n \
'Usage: tide [options] subcommand [options]' \
'' \
'Options:' \
' -v or --version print tide version number' \
' -h or --help print this help message' \
'' \
'Subcommands:' \
' configure run interactive configuration wizard' \
' bug-report print info for use in bug reports'
end

View file

@ -1,33 +0,0 @@
function finish
set_color red
_tide_title 'Overwrite tide config?'
set_color normal
_tide_option y Yes
echo
_tide_menu
switch $_tide_selected_option
case y
_tide_finish
command -q clear && clear
end
end
function _tide_finish
set -e _tide_selected_option # Skip through all the _next_choices
# Deal with prompt char/vi mode
contains character $fake_tide_left_prompt_items || set -p fake_tide_left_prompt_items vi_mode
# Set the real variables
for fakeVar in (set --names | string match -r "^fake_tide.*")
set -U (string replace 'fake_' '' $fakeVar) $$fakeVar
end
# Make sure old prompt won't display
set -e $_tide_prompt_var 2>/dev/null
# Re-initialize the prompt
source (functions --details fish_prompt)
end

View file

@ -1,33 +0,0 @@
function icons
_tide_title Icons
_tide_option 1 'Few icons'
_tide_display_prompt
_tide_option 2 'Many icons'
_enable_icons
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_disable_icons
end
_next_choice all/finish
end
function _enable_icons
set -p fake_tide_left_prompt_items os
set -g fake_tide_pwd_icon
set -g fake_tide_pwd_icon_home
set -g fake_tide_cmd_duration_icon
set -g fake_tide_git_icon
end
function _disable_icons
_tide_find_and_remove os fake_tide_left_prompt_items
set fake_tide_pwd_icon
set fake_tide_pwd_icon_home
set fake_tide_cmd_duration_icon
set fake_tide_git_icon
end

View file

@ -1,26 +0,0 @@
function prompt_colors
_tide_title 'Prompt Colors'
_tide_option 1 'True color'
_tide_display_prompt
_tide_option 2 '16 colors'
_load_config "$_tide_configure_style"_16color
set -g _tide_16color true
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_load_config "$_tide_configure_style"
set -e _tide_16color
switch $_tide_configure_style
case lean rainbow
_next_choice all/show_time
case classic
_next_choice classic/classic_prompt_color
end
case 2
_next_choice all/show_time
end
end

View file

@ -1,28 +0,0 @@
function prompt_connection
_tide_title 'Prompt Connection'
_tide_option 1 Disconnected
_tide_display_prompt fake_tide_prompt_icon_connection ' '
_tide_option 2 Dotted
_tide_display_prompt fake_tide_prompt_icon_connection '·'
_tide_option 3 Solid
_tide_display_prompt fake_tide_prompt_icon_connection '─'
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_prompt_icon_connection ' '
case 2
set -g fake_tide_prompt_icon_connection '·'
case 3
set -g fake_tide_prompt_icon_connection '─'
end
switch $_tide_configure_style
case lean
_next_choice all/prompt_connection_andor_frame_color
case classic rainbow
_next_choice powerline/powerline_prompt_frame
end
end

View file

@ -1,36 +0,0 @@
function prompt_connection_andor_frame_color
if test "$_tide_16color" = true ||
test "$fake_tide_left_prompt_frame_enabled" = false -a \
"$fake_tide_right_prompt_frame_enabled" = false -a \
"$fake_tide_prompt_icon_connection" = ' '
_next_choice all/prompt_spacing
return 0
end
_tide_title "Connection & Frame Color"
_tide_option 1 Lightest
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 808080
_tide_option 2 Light
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 6C6C6C
_tide_option 3 Dark
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 585858
_tide_option 4 Darkest
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 444444
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_prompt_color_frame_and_connection 808080
case 2
set -g fake_tide_prompt_color_frame_and_connection 6C6C6C
case 3
set -g fake_tide_prompt_color_frame_and_connection 585858
case 4
set -g fake_tide_prompt_color_frame_and_connection 444444
end
_next_choice all/prompt_spacing
end

View file

@ -1,21 +0,0 @@
function prompt_spacing
_tide_title 'Prompt Spacing'
_tide_option 1 Compact
_tide_display_prompt
printf \e\[1A # Move cursor up 1 row
_tide_display_prompt
_tide_option 2 Sparse
_tide_display_prompt
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_prompt_add_newline_before false
case 2
set -g fake_tide_prompt_add_newline_before true
end
_next_choice all/icons
end

View file

@ -1,31 +0,0 @@
function show_time
_tide_title 'Show current time?'
_tide_option 1 No
_tide_display_prompt
set -a fake_tide_right_prompt_items time
_tide_option 2 '24-hour format'
_tide_display_prompt fake_tide_time_format %T
_tide_option 3 '12-hour format'
_tide_display_prompt fake_tide_time_format '%r'
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_time_format ''
set -e fake_tide_right_prompt_items[-1]
case 2
set -g fake_tide_time_format %T
case 3
set -g fake_tide_time_format '%r'
end
switch $_tide_configure_style
case lean
_next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_height
case classic rainbow
_next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_separators
end
end

Some files were not shown because too many files have changed in this diff Show more