Compare commits
40 Commits
north
...
e076123fa7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e076123fa7 | ||
|
|
9d9d36dda8 | ||
|
|
c6d0205f8b | ||
|
|
96828bacd0 | ||
|
|
c16d439731 | ||
|
|
c8e0c2c832 | ||
|
|
19e7f2dd3a | ||
|
|
cfb112429d | ||
|
|
c0ff63e427 | ||
|
|
b7bf1f1bd7 | ||
|
|
9ad191f37c | ||
|
|
c61e6c9980 | ||
|
|
d626a5bd7d | ||
|
|
5eda39414a | ||
|
|
cbe9371e66 | ||
|
|
a10b22b9e3 | ||
|
|
fd3ca3a1d3 | ||
|
|
f2589a350d | ||
|
|
f24b4ae320 | ||
|
|
689ef45935 | ||
|
|
2492c5bd80 | ||
|
|
c9c6423bb3 | ||
|
|
d7cc5f77d7 | ||
|
|
3cfcbc1e2a | ||
|
|
69e2bed0ce | ||
|
|
13264dfa24 | ||
|
|
c1f24f2dc2 | ||
|
|
20f8ea51c6 | ||
|
|
52d81b9175 | ||
|
|
befa7fe91e | ||
|
|
4eead91953 | ||
|
|
ce84d681e0 | ||
|
|
5d1d2c49e5 | ||
|
|
73b0e338fc | ||
|
|
4b42af4523 | ||
|
|
1e0af7a61b | ||
|
|
ad784f41f9 | ||
|
|
ad885f7675 | ||
|
|
97ef1500ab | ||
|
|
d29a12094a |
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2024 Lennart J. Kurzweg
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
46
README.md
Normal file
46
README.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# ❄️ NixOS Dotfiles
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Information
|
||||||
|
|
||||||
|
- Using stable + unstable via flakes
|
||||||
|
- Multi-host config (Desktop, Laptop, Server)
|
||||||
|
- Using home-manager for home-configuration
|
||||||
|
- Using sops-nix with GPG + git-crypt for secrets
|
||||||
|
|
||||||
|
## Features:
|
||||||
|
- The WM Hyperland extended to more or less full a DE with
|
||||||
|
- automounting
|
||||||
|
- notifications
|
||||||
|
- a bar
|
||||||
|
- gesture control
|
||||||
|
- runner
|
||||||
|
- ...
|
||||||
|
- Virtualization support
|
||||||
|
- docker
|
||||||
|
- virt-manager
|
||||||
|
- Multilingual typing with Fcitx5
|
||||||
|
- Fully functioning Nvidia/Nvidia Prime support
|
||||||
|
- Fully customized editor `helix`
|
||||||
|
- Locally running LLM-server with tools written around it
|
||||||
|
- Fully themed ("riced") via a custom, intentionally semi-automatic, adaptive system responding to wallpaper color
|
||||||
|
- as can be seen in `flake-modules/rice.nix`
|
||||||
|
- Next-Gen shell experience with
|
||||||
|
- fish
|
||||||
|
- starship
|
||||||
|
- zoxide
|
||||||
|
- yazi
|
||||||
|
- direnv
|
||||||
|
- lazygit + lazydocker
|
||||||
|
|
||||||
|
## Thanks to
|
||||||
|
- [LibrePhoenix](https://www.youtube.com/@librephoenix) for getting me started
|
||||||
|
- [VimJoyer](https://www.youtube.com/@vimjoyer) for making quick NixOS tutorials on many topics
|
||||||
|
- Everyone that talks about NixOS in NixOS-forums and rooms instead of politics
|
||||||
|
- [Everyone that put up their code on Github](https://github.com/search?type=code&auto_enroll=true&q=language%3Anix) for me to reference
|
||||||
|
|
||||||
|
## Licensing
|
||||||
|
- The code found in this Repository is Licensed under the MIT-license
|
||||||
|
- I've decided against the GPLv3, since I am not going to sue anyone over this, but
|
||||||
|
- I encourage everyone to open source their work for anyone to at least reference
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{ pkgs, pkgs-unstable, lib, inputs, allowed, nvidia, ... }:
|
{ pkgs, inputs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
./system-modules/auto-mount.nix
|
||||||
./system-modules/hardware-configuration.nix
|
./system-modules/hardware-configuration.nix
|
||||||
./system-modules/fuse.nix
|
./system-modules/fuse.nix
|
||||||
./system-modules/nvidia.nix
|
./system-modules/nvidia.nix
|
||||||
@@ -10,26 +11,33 @@
|
|||||||
./system-modules/fonts.nix
|
./system-modules/fonts.nix
|
||||||
./system-modules/boot.nix
|
./system-modules/boot.nix
|
||||||
./system-modules/gc.nix
|
./system-modules/gc.nix
|
||||||
|
./system-modules/boot.nix
|
||||||
./system-modules/dm.nix
|
./system-modules/dm.nix
|
||||||
./system-modules/networking.nix
|
|
||||||
# ./system-modules/virtualisation.nix
|
|
||||||
./system-modules/sshd.nix
|
|
||||||
./system-modules/gpg.nix
|
|
||||||
./system-modules/sops.nix
|
|
||||||
./system-modules/syncthing.nix
|
|
||||||
./system-modules/hsmw.nix # old
|
|
||||||
./system-modules/docker.nix
|
./system-modules/docker.nix
|
||||||
|
./system-modules/fcitx5.nix
|
||||||
|
./system-modules/fonts.nix
|
||||||
|
./system-modules/fuse.nix
|
||||||
|
./system-modules/gc.nix
|
||||||
|
./system-modules/gpg.nix
|
||||||
|
./system-modules/hardware-configuration.nix
|
||||||
./system-modules/health_reminder.nix
|
./system-modules/health_reminder.nix
|
||||||
./system-modules/ydotool.nix
|
./system-modules/hsmw.nix
|
||||||
./system-modules/ollama.nix
|
./system-modules/kanata.nix
|
||||||
./system-modules/nx2site.nix
|
|
||||||
./system-modules/kodi.nix
|
./system-modules/kodi.nix
|
||||||
|
./system-modules/networking.nix
|
||||||
|
./system-modules/nvidia.nix
|
||||||
|
./system-modules/nx2site.nix
|
||||||
|
./system-modules/ollama.nix
|
||||||
./system-modules/qmk.nix
|
./system-modules/qmk.nix
|
||||||
|
./system-modules/sops.nix
|
||||||
|
./system-modules/sound.nix
|
||||||
|
./system-modules/sshd.nix
|
||||||
|
./system-modules/syncthing.nix
|
||||||
|
./system-modules/users.nix
|
||||||
|
./system-modules/virtualisation.nix
|
||||||
|
./system-modules/ydotool.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
@@ -56,27 +64,21 @@
|
|||||||
services.libinput.enable = true;
|
services.libinput.enable = true;
|
||||||
hardware.uinput.enable = true;
|
hardware.uinput.enable = true;
|
||||||
|
|
||||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
hardware.bluetooth = {
|
||||||
hardware.bluetooth.powerOnBoot = true; #
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
package = pkgs.bluez5-experimental;
|
||||||
|
settings.Policy.AutoEnable = "true";
|
||||||
|
settings.General.Enable = "Source,Sink,Media,Socket";
|
||||||
|
};
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
# nixpkgs.config.allowUnfree = true;
|
|
||||||
nixpkgs.config = {
|
|
||||||
# allowUnfree = true;
|
|
||||||
# allowUnfreePredicate = (pkg: true);
|
|
||||||
allowUnfreePredicate = let
|
|
||||||
string-list = allowed.unfree-packages ++ (if nvidia.enable == true then nvidia.unfree else []);
|
|
||||||
in pkg: builtins.elem (lib.getName pkg) string-list;
|
|
||||||
cudaSupport = nvidia.enable;
|
|
||||||
enableParallelBuildingByDefault = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; ([
|
environment.systemPackages = with pkgs; ([
|
||||||
git
|
git
|
||||||
lazygit # home-manager module is bugged
|
|
||||||
git-crypt
|
git-crypt
|
||||||
|
lazygit # home-manager module is bugged
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
zip
|
zip
|
||||||
@@ -84,7 +86,6 @@
|
|||||||
p7zip
|
p7zip
|
||||||
unar
|
unar
|
||||||
nano
|
nano
|
||||||
micro
|
|
||||||
htop
|
htop
|
||||||
direnv
|
direnv
|
||||||
openssl
|
openssl
|
||||||
@@ -109,6 +110,8 @@
|
|||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
programs.bash.shellInit = ''
|
programs.bash.shellInit = ''
|
||||||
|
|||||||
43
flake-modules/allowed.nix
Normal file
43
flake-modules/allowed.nix
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
|
||||||
|
{
|
||||||
|
unfree = [
|
||||||
|
"discord"
|
||||||
|
"spotify"
|
||||||
|
"obsidian"
|
||||||
|
"zoom-us"
|
||||||
|
"zoom"
|
||||||
|
|
||||||
|
# since the predicate ist to be set in the flake and not in a module
|
||||||
|
# it is impossible to make the list dynamic and respect nvidia.enable
|
||||||
|
"nvidia-x11"
|
||||||
|
"nvidia-settings"
|
||||||
|
"nvidia-persistenced"
|
||||||
|
"cudatoolkit"
|
||||||
|
"cuda-merged"
|
||||||
|
"cuda_cuobjdump"
|
||||||
|
"cuda_gdb"
|
||||||
|
"cuda_nvcc"
|
||||||
|
"cuda_nvdisasm"
|
||||||
|
"cuda_nvprune"
|
||||||
|
"cuda_cccl"
|
||||||
|
"cuda_cudart"
|
||||||
|
"cuda_cupti"
|
||||||
|
"cuda_cuxxfilt"
|
||||||
|
"cuda_nvml_dev"
|
||||||
|
"cuda_nvrtc"
|
||||||
|
"cuda_nvtx"
|
||||||
|
"cuda_profiler_api"
|
||||||
|
"cuda_sanitizer_api"
|
||||||
|
"libcublas"
|
||||||
|
"libcufft"
|
||||||
|
"libcurand"
|
||||||
|
"libcusolver"
|
||||||
|
"libnvjitlink"
|
||||||
|
"libcusparse"
|
||||||
|
"libnpp"
|
||||||
|
];
|
||||||
|
|
||||||
|
inecure = [
|
||||||
|
# "electron-25.9.0"
|
||||||
|
];
|
||||||
|
}
|
||||||
13
flake-modules/colors.json
Normal file
13
flake-modules/colors.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"base": {
|
||||||
|
"foreground": "#eedce2",
|
||||||
|
"background": "#221016"
|
||||||
|
},
|
||||||
|
"to_alter": {
|
||||||
|
"accent": "#ac5271",
|
||||||
|
"secondary": "#f20c5b",
|
||||||
|
"tertiary": "#d5a287",
|
||||||
|
"special": "#51ac8d",
|
||||||
|
"weird": "#0cf2a3"
|
||||||
|
}
|
||||||
|
}
|
||||||
4
flake-modules/nvidia.nix
Normal file
4
flake-modules/nvidia.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
enable = false;
|
||||||
|
prime = false;
|
||||||
|
}
|
||||||
63
flake-modules/rice.nix
Normal file
63
flake-modules/rice.nix
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
pkgs: rec {
|
||||||
|
|
||||||
|
lib = import ../nxlib/ricelib.nix pkgs.lib;
|
||||||
|
|
||||||
|
transparency = 0.8;
|
||||||
|
rounding = 10;
|
||||||
|
gap-size = 10;
|
||||||
|
border-width = 3;
|
||||||
|
color =
|
||||||
|
let
|
||||||
|
dark = (-0.5);
|
||||||
|
bright = (0.5);
|
||||||
|
alter-set = let f = lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
||||||
|
alter = let f = lib.alter-luminace-hex; in color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
||||||
|
# ccolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json));
|
||||||
|
ccolor = builtins.mapAttrs alter-set {
|
||||||
|
black = "#111111"; # "#111111" "#001100";
|
||||||
|
white = "#dddddd"; # "#dddddd" "#66dd66";
|
||||||
|
blue = "#4444dd"; # "#3333dd" "#003300";
|
||||||
|
cyan = "#44dddd"; # "#11dddd" "#00dd55";
|
||||||
|
green = "#44dd44"; # "#11dd11" "#11dd11";
|
||||||
|
magenta = "#dd44dd"; # "#dd11dd" "#005500";
|
||||||
|
red = "#dd4444"; # "#dd1111" "#00aa00";
|
||||||
|
yellow = "#dd4444"; # "#dddd11" "#ffff00";
|
||||||
|
};
|
||||||
|
facolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json)).to_alter;
|
||||||
|
fbcolor = (builtins.fromJSON (builtins.readFile ./colors.json)).base;
|
||||||
|
fcolor = facolor // fbcolor;
|
||||||
|
xcolor = with ccolor; with fcolor; rec {
|
||||||
|
background = "#000000";
|
||||||
|
# foreground = "#dddddd";
|
||||||
|
# accent = blue;
|
||||||
|
# secondary = cyan;
|
||||||
|
# tertiary = magenta;
|
||||||
|
# special = yellow;
|
||||||
|
# weird = green;
|
||||||
|
positive = alter "#00dd00";
|
||||||
|
negative = alter "#dd0000";
|
||||||
|
border = accent.base;
|
||||||
|
border2 = secondary.base;
|
||||||
|
};
|
||||||
|
in ccolor // fcolor // xcolor;
|
||||||
|
font = {
|
||||||
|
code = {
|
||||||
|
name = "JetBrainsMono-NF";
|
||||||
|
name2 = "JetBrainsMono Nerd Font";
|
||||||
|
package = (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; });
|
||||||
|
# name = "CascadiaCove-NF";
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; });
|
||||||
|
};
|
||||||
|
base = {
|
||||||
|
# name = "NewComputerModern08";
|
||||||
|
# package = pkgs.newcomputermodern;
|
||||||
|
name = "Atkinson Hyperlegible";
|
||||||
|
package = pkgs.atkinson-hyperlegible;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
name = "Bibata-Original-Classic";
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
}
|
||||||
208
flake.lock
generated
208
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718642173,
|
"lastModified": 1724608787,
|
||||||
"narHash": "sha256-iyj4D6c77uROAH9QdZjPd9SKnS/DuACMESqaEKnBgI8=",
|
"narHash": "sha256-t2BzxfdLhMY8pnzmQe76bLGL8bB5p5bdIXHhkSV+xr8=",
|
||||||
"owner": "KZDKM",
|
"owner": "KZDKM",
|
||||||
"repo": "Hyprspace",
|
"repo": "Hyprspace",
|
||||||
"rev": "2f3edb68f47a8f5d99d10b322e9a85a285f53cc7",
|
"rev": "b328501fbad4159e404697e25cdaaab0ad9f81a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -20,6 +20,39 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725199881,
|
||||||
|
"narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
@@ -62,11 +95,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1719875691,
|
"lastModified": 1725783932,
|
||||||
"narHash": "sha256-DtfpH7yivPHcfXV0EL70NwCKlg6nVTZGNngWkPshQjM=",
|
"narHash": "sha256-ZrDE5yqkgiv0F34w1QFz1oZnNnReW0PEA6vjO6gx4Uc=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "f2c6c0e41d6c2c82524b9d104bcfd1750a426d1b",
|
"rev": "58ac93a2ade218ea5e4dae38246030c7342b1eb4",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -97,11 +130,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719877454,
|
"lastModified": 1725234343,
|
||||||
"narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=",
|
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4e3583423212f9303aa1a6337f8dffb415920e4f",
|
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -193,11 +226,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719827385,
|
"lastModified": 1725703823,
|
||||||
"narHash": "sha256-qs+nU20Sm8czHg3bhGCqiH+8e13BJyRrKONW34g3i50=",
|
"narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "391ca6e950c2525b4f853cbe29922452c14eda82",
|
"rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -223,11 +256,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718450675,
|
"lastModified": 1722623071,
|
||||||
"narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=",
|
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6",
|
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -238,6 +271,7 @@
|
|||||||
},
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
"hyprcursor": "hyprcursor",
|
"hyprcursor": "hyprcursor",
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
@@ -247,11 +281,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719938427,
|
"lastModified": 1725752806,
|
||||||
"narHash": "sha256-b0QtvQtFAtuOVBNPEUYf4V2VNGChTukkrLH/JlCQds8=",
|
"narHash": "sha256-UwmsA7O9Wofu6YWldyR8NDv1bzxNICIg85/uOrVq69Y=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "6247a6b537fd1c05ecf35420529fab1adf83143e",
|
"rev": "312411fc7073143a8bf1fc3ba23ef403b7d15eee",
|
||||||
"revCount": 4903,
|
"revCount": 5195,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
@@ -279,11 +313,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719784423,
|
"lastModified": 1723143591,
|
||||||
"narHash": "sha256-D7O5+nh2Wn9tQPJArWHrDSZeEfBCtj5zTGd86701LPE=",
|
"narHash": "sha256-dPcWAeRJoG5CyWC32X3XX+Og0v/k1/S1N0T5dQWT32k=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-plugins",
|
"repo": "hyprland-plugins",
|
||||||
"rev": "98cb18c6fcfe8196ef4150d09fbae305b7bb2954",
|
"rev": "b73d7b901d8cb1172dd25c7b7159f0242c625a77",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -306,11 +340,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714869498,
|
"lastModified": 1721326555,
|
||||||
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
|
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
|
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -335,11 +369,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717881852,
|
"lastModified": 1725188252,
|
||||||
"narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
|
"narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "ec6938c66253429192274d612912649a0cfe4d28",
|
"rev": "c12ab785ce1982f82594aff03b3104c598186ddd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -354,11 +388,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719780938,
|
"lastModified": 1725107917,
|
||||||
"narHash": "sha256-YocumFkp3FCgN3UCXp95EV7IvAwhQdlSav8cCB0oHv0=",
|
"narHash": "sha256-6on3nwb3gB4t+P/2IExgGhVLVgAkF6ZiE5x+qcQHEXU=",
|
||||||
"owner": "h3rmt",
|
"owner": "h3rmt",
|
||||||
"repo": "hyprswitch",
|
"repo": "hyprswitch",
|
||||||
"rev": "4dbba183fcbaa63de64e973d5dc9bba883765aa3",
|
"rev": "f478c394ad6db5ba268f80052f1eb2366366b21e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -380,11 +414,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719316102,
|
"lastModified": 1724966483,
|
||||||
"narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=",
|
"narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085",
|
"rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -405,11 +439,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719067853,
|
"lastModified": 1721324119,
|
||||||
"narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=",
|
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "914f083741e694092ee60a39d31f693d0a6dc734",
|
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -445,11 +479,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719075281,
|
"lastModified": 1725103162,
|
||||||
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
|
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
|
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -459,16 +493,32 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-latest": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725797591,
|
||||||
|
"narHash": "sha256-SKnw7jK0fU921GjU3GzJHSyNwcnm21kt+kXkN7jisAc=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "adcae9711281a04fddc31d850a3c33c197e018af",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719876945,
|
"lastModified": 1725233747,
|
||||||
"narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=",
|
"narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
@@ -489,27 +539,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719663039,
|
"lastModified": 1725762081,
|
||||||
"narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=",
|
"narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4a1e673523344f6ccc84b37f4413ad74ea19a119",
|
"rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "release-23.11",
|
"ref": "release-24.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719848872,
|
"lastModified": 1725634671,
|
||||||
"narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
|
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
|
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -551,11 +601,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719838683,
|
"lastModified": 1725407940,
|
||||||
"narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=",
|
"narHash": "sha256-tiN5Rlg/jiY0tyky+soJZoRzLKbPyIdlQ77xVgREDNM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69",
|
"rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -564,6 +614,22 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724819573,
|
||||||
|
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pre-commit-hooks-nix": {
|
"pre-commit-hooks-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
@@ -605,8 +671,10 @@
|
|||||||
"hyprswitch": "hyprswitch",
|
"hyprswitch": "hyprswitch",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
"nixpkgs-latest": "nixpkgs-latest",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
@@ -642,11 +710,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719873517,
|
"lastModified": 1725765163,
|
||||||
"narHash": "sha256-D1dxZmXf6M2h5lNE1m6orojuUawVPjogbGRsqSBX+1g=",
|
"narHash": "sha256-rfd2c47iVSFI6bRYy5l8wRijRBaYDeU7dM8XCDUGqlA=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "a11224af8d824935f363928074b4717ca2e280db",
|
"rev": "b68757cd2c3fa66d6ccaa0d046ce42a9324e0070",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -702,11 +770,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718619174,
|
"lastModified": 1725203932,
|
||||||
"narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=",
|
"narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623",
|
"rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -714,6 +782,24 @@
|
|||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_5"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725529174,
|
||||||
|
"narHash": "sha256-6hhiPXXZw24jaQJKJgaLIZ9Z8iEs25Sb+xMqEv6t2Go=",
|
||||||
|
"owner": "MarceColl",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "5fce6f9bc9b2bda1f0281fcbef3160903ddc5882",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "MarceColl",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
287
flake.nix
287
flake.nix
@@ -2,244 +2,69 @@
|
|||||||
description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
|
description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-24.05";
|
nixpkgs = { url = "nixpkgs/nixos-24.05"; };
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nixpkgs-unstable = { url = "nixpkgs/nixos-unstable"; };
|
||||||
home-manager = {
|
nixpkgs-latest = { url = "github:nixos/nixpkgs?ref=master"; };
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
};
|
lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; };
|
||||||
sops-nix = {
|
|
||||||
url = "github:Mic92/sops-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprland = {
|
hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; };
|
||||||
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };
|
||||||
# url = "github:hyprwm/Hyprland";
|
Hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; };
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
hyprswitch = { url = "github:h3rmt/hyprswitch/release"; };
|
||||||
};
|
|
||||||
hyprland-plugins = {
|
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
|
||||||
inputs.hyprland.follows = "hyprland";
|
|
||||||
};
|
|
||||||
Hyprspace = {
|
|
||||||
url = "github:KZDKM/Hyprspace";
|
|
||||||
inputs.hyprland.follows = "hyprland";
|
|
||||||
};
|
|
||||||
hyprswitch.url = "github:h3rmt/hyprswitch/release";
|
|
||||||
|
|
||||||
lanzaboote = {
|
# firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
url = "github:nix-community/lanzaboote/v0.3.0";
|
zen-browser.url = "github:MarceColl/zen-browser-flake";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
||||||
};
|
|
||||||
#arion = {
|
|
||||||
# url = "github:hercules-ci/arion";
|
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
#};
|
|
||||||
firefox-addons = {
|
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
# yazi.url = "github:sxyazi/yazi";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs:
|
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-latest, home-manager, ... }@inputs: let
|
||||||
let
|
system = "x86_64-linux";
|
||||||
system = "x86_64-linux";
|
user = "nx2";
|
||||||
pkgs-config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
# cudaSupport = nvidia.enable;
|
|
||||||
# enableParallelBuildingByDefault = true;
|
|
||||||
};
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
system = system;
|
|
||||||
config = pkgs-config;
|
|
||||||
};
|
|
||||||
pkgs-unstable = import nixpkgs-unstable {
|
|
||||||
system = system;
|
|
||||||
config = pkgs-config;
|
|
||||||
};
|
|
||||||
|
|
||||||
user = "nx2";
|
config = { allowUnfree = true; allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
|
||||||
|
|
||||||
nvidia = {
|
pkgs = import nixpkgs { inherit system config; };
|
||||||
enable = true;
|
pkgs-unstable = import nixpkgs-unstable { inherit system config; };
|
||||||
prime = true;
|
pkgs-latest = import nixpkgs-latest { inherit system config; };
|
||||||
# unfree = if enable then [
|
|
||||||
unfree = [
|
|
||||||
"cuda_cccl"
|
|
||||||
"cuda_cudart"
|
|
||||||
"cuda_cuobjdump"
|
|
||||||
"cuda_cupti"
|
|
||||||
"cuda_cuxxfilt"
|
|
||||||
"cuda_gdb"
|
|
||||||
"cuda-merged"
|
|
||||||
"cuda_nvcc"
|
|
||||||
"cuda_nvdisasm"
|
|
||||||
"cuda_nvml_dev"
|
|
||||||
"cuda_nvprune"
|
|
||||||
"cuda_nvrtc"
|
|
||||||
"cuda_nvtx"
|
|
||||||
"cuda_profiler_api"
|
|
||||||
"cuda_sanitizer_api"
|
|
||||||
"cudatoolkit"
|
|
||||||
"libcublas"
|
|
||||||
"libcufft"
|
|
||||||
"libcurand"
|
|
||||||
"libcusolver"
|
|
||||||
"libcusparse"
|
|
||||||
"libnpp"
|
|
||||||
"libnvjitlink"
|
|
||||||
"nviaia-x11"
|
|
||||||
"nvidia-persistenced"
|
|
||||||
"nvidia-settings"
|
|
||||||
"nvidia-x11"
|
|
||||||
];
|
|
||||||
# ] else [];
|
|
||||||
};
|
|
||||||
allowed = {
|
|
||||||
unfree-packages = [
|
|
||||||
"discord"
|
|
||||||
"obsidian"
|
|
||||||
"spotify"
|
|
||||||
"zoom"
|
|
||||||
"zoom-us"
|
|
||||||
] ++ nvidia.unfree;
|
|
||||||
|
|
||||||
inecure-packages = [
|
nvidia-set = import ./flake-modules/nvidia.nix;
|
||||||
"electron-25.9.0"
|
secrets = import ./git-crypt/secrets.nix;
|
||||||
];
|
rice = import ./flake-modules/rice.nix pkgs;
|
||||||
};
|
in {
|
||||||
|
nixosConfigurations = let
|
||||||
secrets = import ./git-crypt/secrets.nix;
|
make-nixos-system = host: nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
rice = rec {
|
modules = [ ./configuration.nix ];
|
||||||
lib = import ./nxlib/ricelib.nix { lib = nixpkgs.lib; };
|
specialArgs = let
|
||||||
transparency = 0.8;
|
nvidia = nvidia-set // {
|
||||||
rounding = 10;
|
enable = if (host == "NxXPS" || host == "NxNORTH") then true else false;
|
||||||
gap-size = 10;
|
prime = if (host == "NxXPS") then true else false;
|
||||||
border-width = 3;
|
};
|
||||||
color =
|
in { inherit inputs user host pkgs-unstable pkgs-latest secrets rice nvidia; };
|
||||||
let
|
|
||||||
dark = (-0.5);
|
|
||||||
bright = (0.5);
|
|
||||||
alter-set = let f = rice.lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
|
||||||
alter = let f = rice.lib.alter-luminace-hex; in color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
|
||||||
ccolor = builtins.mapAttrs alter-set {
|
|
||||||
black = "#000022"; # "#111111" "#001100";
|
|
||||||
white = "#ddddff"; # "#dddddd" "#66dd66";
|
|
||||||
blue = "#4422ff"; # "#3333dd" "#003300";
|
|
||||||
cyan = "#11dddd"; # "#11dddd" "#00dd55";
|
|
||||||
green = "#11dd44"; # "#11dd11" "#11dd11";
|
|
||||||
magenta = "#6622dd"; # "#dd11dd" "#005500";
|
|
||||||
red = "#dd1166"; # "#dd1111" "#00aa00";
|
|
||||||
yellow = "#dd6611"; # "#dddd11" "#ffff00";
|
|
||||||
};
|
|
||||||
xcolor = with ccolor; rec {
|
|
||||||
background = black.dark;
|
|
||||||
foreground = white.base;
|
|
||||||
border = cyan.base;
|
|
||||||
border2 = blue.base;
|
|
||||||
accent = blue;
|
|
||||||
secondary = cyan;
|
|
||||||
tertiary = magenta;
|
|
||||||
special = yellow;
|
|
||||||
weird = green;
|
|
||||||
positive = alter "#00dd00";
|
|
||||||
negative = alter "#dd0000";
|
|
||||||
};
|
|
||||||
# ccolor = builtins.mapAttrs alter-set {
|
|
||||||
# black = "#112200";
|
|
||||||
# white = "#ddffdd";
|
|
||||||
# blue = "#779944";
|
|
||||||
# cyan = "#11ffcc";
|
|
||||||
# green = "#00ff00";
|
|
||||||
# magenta = "#449999";
|
|
||||||
# red = "#dd2200";
|
|
||||||
# yellow = "#ffff11";
|
|
||||||
# };
|
|
||||||
# xcolor = with ccolor; rec {
|
|
||||||
# background = black.dark; # black.dark;
|
|
||||||
# foreground = white.base; # white.base;
|
|
||||||
# border = accent.base; # cyan.base;
|
|
||||||
# border2 = yellow.base; # blue.base;
|
|
||||||
# accent = green; # blue;
|
|
||||||
# secondary = red; # cyan;
|
|
||||||
# tertiary = yellow; # magenta;
|
|
||||||
# special = blue; # yellow;
|
|
||||||
# weird = magenta; # green;
|
|
||||||
# positive = alter "#00dd00"; # alter "#00dd00";
|
|
||||||
# negative = alter "#dd0000"; # alter "#dd0000";
|
|
||||||
# };
|
|
||||||
in ccolor // xcolor;
|
|
||||||
font = {
|
|
||||||
code = {
|
|
||||||
name = "JetBrainsMono-NF";
|
|
||||||
name2 = "JetBrainsMono Nerd Font";
|
|
||||||
package = (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; });
|
|
||||||
# name = "CascadiaCove-NF";
|
|
||||||
# package = (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; });
|
|
||||||
};
|
|
||||||
base = {
|
|
||||||
# name = "NewComputerModern08";
|
|
||||||
# package = pkgs.newcomputermodern;
|
|
||||||
name = "Atkinson Hyperlegible";
|
|
||||||
package = pkgs.atkinson-hyperlegible;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
cursor = {
|
|
||||||
name = "Bibata-Original-Classic";
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations = {
|
|
||||||
NxXPS = let host = "NxXPS"; in nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
modules = [ ./configuration.nix ];
|
|
||||||
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
|
|
||||||
};
|
|
||||||
NxNORTH = let host = "NxNORTH"; in nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
modules = [ ./configuration.nix ];
|
|
||||||
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
|
|
||||||
};
|
|
||||||
NxACE = let host = "NxACE"; nvidia.enable = false; in nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
modules = [ ./configuration.nix ];
|
|
||||||
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
homeConfigurations = {
|
|
||||||
"${user}@NxXPS" = let host = "NxXPS"; in home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
modules = [ ./home.nix ];
|
|
||||||
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
|
|
||||||
};
|
|
||||||
"${user}@NxNORTH" = let host = "NxNORTH"; in home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
modules = [ ./home.nix ];
|
|
||||||
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
|
|
||||||
};
|
|
||||||
"${user}@NxACE" = let host = "NxACE"; nvidia.enable = false; in home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
modules = [ ./home.nix ];
|
|
||||||
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
|
|
||||||
};
|
|
||||||
"tv@NxACE" =
|
|
||||||
let
|
|
||||||
host = "NxACE";
|
|
||||||
user = "tv";
|
|
||||||
nvidia.enable = pkgs.kib.mkForce false;
|
|
||||||
in
|
|
||||||
home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
modules = [ ./home.nix ];
|
|
||||||
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
NxXPS = make-nixos-system "NxXPS";
|
||||||
|
NxNORTH = make-nixos-system "NxNORTH";
|
||||||
|
NxACE = make-nixos-system "NxACE";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
homeConfigurations = let
|
||||||
|
make-home-configuration = host: user: home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
modules = [ ./home.nix ];
|
||||||
|
extraSpecialArgs = let
|
||||||
|
nvidia = nvidia-set // {
|
||||||
|
enable = if (host == "NxXPS" || host == "NxNORTH") then true else false;
|
||||||
|
prime = if (host == "NxXPS") then true else false;
|
||||||
|
};
|
||||||
|
in { inherit inputs system user host pkgs-unstable pkgs-latest rice secrets nvidia; };
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
"${user}@NxXPS" = make-home-configuration "NxXPS" user;
|
||||||
|
"${user}@NxNORTH" = make-home-configuration "NxNORTH" user;
|
||||||
|
"${user}@NxACE" = make-home-configuration "NxACE" user;
|
||||||
|
"tv@NxACE" = make-home-configuration "NxACE" "tv";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
7
home-modules/auto-mount.nix
Normal file
7
home-modules/auto-mount.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.udiskie = {
|
||||||
|
enable = true;
|
||||||
|
notify = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{ config, pkgs, lib, rice, user, secrets, ... }:
|
{ pkgs, lib, rice, user, secrets, ... }:
|
||||||
let
|
let
|
||||||
channels = [
|
channels = [
|
||||||
"agurin"
|
"agurin"
|
||||||
|
"asmongold"
|
||||||
"Broeki"
|
"Broeki"
|
||||||
"Broxah"
|
"Broxah"
|
||||||
"Caedrel"
|
"Caedrel"
|
||||||
@@ -40,6 +41,7 @@ let
|
|||||||
"Trick2g"
|
"Trick2g"
|
||||||
"TSM_ImperialHal"
|
"TSM_ImperialHal"
|
||||||
"Xisuma"
|
"Xisuma"
|
||||||
|
"zackrawrr"
|
||||||
];
|
];
|
||||||
tabber = channel-name: {
|
tabber = channel-name: {
|
||||||
highlightsEnabled = true;
|
highlightsEnabled = true;
|
||||||
|
|||||||
14
home-modules/direnv.nix
Executable file
14
home-modules/direnv.nix
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
{ lib, user, ... }:
|
||||||
|
lib.mkIf (user != "tv")
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
# enableBashIntegration = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
config = {
|
||||||
|
hide_env_diff = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,492 +1,198 @@
|
|||||||
{ config, pkgs, pkgs-unstable, lib, host, user, allowed, ... }:
|
{ pkgs, lib, host, ... }:
|
||||||
lib.mkIf (host != "NxACE")
|
lib.mkIf (host != "NxACE")
|
||||||
{
|
{
|
||||||
home.packages = [
|
home = {
|
||||||
pkgs-unstable.vesktop
|
packages = with pkgs; [
|
||||||
];
|
vesktop
|
||||||
|
];
|
||||||
|
|
||||||
home.file.".config/vesktop/settings/settings.json".text = ''
|
file.".config/vesktop/settings/settings.json".text = /* json */ ''{
|
||||||
{
|
"notifyAboutUpdates": true,
|
||||||
"notifyAboutUpdates": true,
|
"autoUpdate": false,
|
||||||
"autoUpdate": false,
|
"autoUpdateNotification": true,
|
||||||
"autoUpdateNotification": true,
|
"useQuickCss": true,
|
||||||
"useQuickCss": true,
|
"themeLinks": [
|
||||||
"themeLinks": [
|
"https://luckfire.github.io/amoled-cord/src/amoled-cord.css"
|
||||||
"https://luckfire.github.io/amoled-cord/src/amoled-cord.css"
|
],
|
||||||
],
|
"enabledThemes": [],
|
||||||
"enabledThemes": [],
|
"enableReactDevtools": false,
|
||||||
"enableReactDevtools": false,
|
"frameless": false,
|
||||||
"frameless": false,
|
"transparent": true,
|
||||||
"transparent": true,
|
"winCtrlQ": false,
|
||||||
"winCtrlQ": false,
|
"macosTranslucency": false,
|
||||||
"macosTranslucency": false,
|
"disableMinSize": false,
|
||||||
"disableMinSize": false,
|
"winNativeTitleBar": false,
|
||||||
"winNativeTitleBar": false,
|
"plugins": {
|
||||||
"plugins": {
|
"BadgeAPI": { "enabled": true },
|
||||||
"BadgeAPI": {
|
"CommandsAPI": { "enabled": true },
|
||||||
"enabled": true
|
"ContextMenuAPI": { "enabled": true },
|
||||||
},
|
"MemberListDecoratorsAPI": { "enabled": false },
|
||||||
"CommandsAPI": {
|
"MessageAccessoriesAPI": { "enabled": false },
|
||||||
"enabled": true
|
"MessageDecorationsAPI": { "enabled": false },
|
||||||
},
|
"MessageEventsAPI": { "enabled": false },
|
||||||
"ContextMenuAPI": {
|
"MessagePopoverAPI": { "enabled": false },
|
||||||
"enabled": true
|
"NoticesAPI": { "enabled": true },
|
||||||
},
|
"ServerListAPI": { "enabled": false },
|
||||||
"MemberListDecoratorsAPI": {
|
"NoTrack": { "enabled": true },
|
||||||
"enabled": false
|
"Settings": {
|
||||||
},
|
"enabled": true,
|
||||||
"MessageAccessoriesAPI": {
|
"settingsLocation": "aboveActivity"
|
||||||
"enabled": false
|
},
|
||||||
},
|
"SupportHelper": { "enabled": true },
|
||||||
"MessageDecorationsAPI": {
|
"ChatInputButtonAPI": { "enabled": false },
|
||||||
"enabled": false
|
"AlwaysAnimate": { "enabled": true },
|
||||||
},
|
"AlwaysTrust": { "enabled": true },
|
||||||
"MessageEventsAPI": {
|
"AnonymiseFileNames": { "enabled": false },
|
||||||
"enabled": false
|
"WebRichPresence (arRPC)": { "enabled": false },
|
||||||
},
|
"BANger": { "enabled": false },
|
||||||
"MessagePopoverAPI": {
|
"BetterFolders": { "enabled": false },
|
||||||
"enabled": false
|
"BetterGifAltText": { "enabled": false },
|
||||||
},
|
"BetterGifPicker": { "enabled": false },
|
||||||
"NoticesAPI": {
|
"BetterNotesBox": { "enabled": false },
|
||||||
"enabled": true
|
"BetterRoleDot": { "enabled": false },
|
||||||
},
|
"BetterUploadButton": { "enabled": false },
|
||||||
"ServerListAPI": {
|
"BiggerStreamPreview": { "enabled": false },
|
||||||
"enabled": false
|
"BlurNSFW": { "enabled": false },
|
||||||
},
|
"CallTimer": { "enabled": false },
|
||||||
"NoTrack": {
|
"ClearURLs": { "enabled": false },
|
||||||
"enabled": true
|
"ClientTheme": { "enabled": false },
|
||||||
},
|
"ColorSighted": { "enabled": false },
|
||||||
"Settings": {
|
"ConsoleShortcuts": { "enabled": false },
|
||||||
"enabled": true,
|
"CopyUserURLs": { "enabled": false },
|
||||||
"settingsLocation": "aboveActivity"
|
"CrashHandler": { "enabled": true },
|
||||||
},
|
"CustomRPC": { "enabled": false },
|
||||||
"SupportHelper": {
|
"Dearrow": { "enabled": false },
|
||||||
"enabled": true
|
"Decor": { "enabled": false },
|
||||||
},
|
"DisableCallIdle": { "enabled": false },
|
||||||
"ChatInputButtonAPI": {
|
"EmoteCloner": { "enabled": false },
|
||||||
"enabled": false
|
"Experiments": { "enabled": false },
|
||||||
},
|
"F8Break": { "enabled": false },
|
||||||
"AlwaysAnimate": {
|
"FakeNitro": { "enabled": false },
|
||||||
"enabled": true
|
"FakeProfileThemes": { "enabled": true },
|
||||||
},
|
"FavoriteEmojiFirst": { "enabled": false },
|
||||||
"AlwaysTrust": {
|
"FavoriteGifSearch": { "enabled": false },
|
||||||
"enabled": true
|
"FixCodeblockGap": { "enabled": false },
|
||||||
},
|
"FixSpotifyEmbeds": { "enabled": false },
|
||||||
"AnonymiseFileNames": {
|
"FixYoutubeEmbeds": { "enabled": false },
|
||||||
"enabled": false
|
"ForceOwnerCrown": { "enabled": false },
|
||||||
},
|
"FriendInvites": { "enabled": false },
|
||||||
"WebRichPresence (arRPC)": {
|
"GameActivityToggle": { "enabled": false },
|
||||||
"enabled": false
|
"GifPaste": { "enabled": false },
|
||||||
},
|
"GreetStickerPicker": { "enabled": false },
|
||||||
"BANger": {
|
"HideAttachments": { "enabled": false },
|
||||||
"enabled": false
|
"iLoveSpam": { "enabled": false },
|
||||||
},
|
"IgnoreActivities": { "enabled": false },
|
||||||
"BetterFolders": {
|
"ImageZoom": { "enabled": false },
|
||||||
"enabled": false
|
"InvisibleChat": { "enabled": false },
|
||||||
},
|
"KeepCurrentChannel": { "enabled": false },
|
||||||
"BetterGifAltText": {
|
"LastFMRichPresence": { "enabled": false },
|
||||||
"enabled": false
|
"LoadingQuotes": { "enabled": false },
|
||||||
},
|
"MemberCount": { "enabled": false },
|
||||||
"BetterGifPicker": {
|
"MessageClickActions": { "enabled": false },
|
||||||
"enabled": false
|
"MessageLinkEmbeds": { "enabled": false },
|
||||||
},
|
"MessageLogger": { "enabled": false },
|
||||||
"BetterNotesBox": {
|
"MessageTags": { "enabled": false },
|
||||||
"enabled": false
|
"MoreCommands": { "enabled": false },
|
||||||
},
|
"MoreKaomoji": { "enabled": false },
|
||||||
"BetterRoleDot": {
|
"MoreUserTags": { "enabled": false },
|
||||||
"enabled": false
|
"Moyai": { "enabled": false },
|
||||||
},
|
"MutualGroupDMs": { "enabled": false },
|
||||||
"BetterUploadButton": {
|
"NewGuildSettings": { "enabled": false },
|
||||||
"enabled": false
|
"NoBlockedMessages": { "enabled": false },
|
||||||
},
|
"NoDevtoolsWarning": { "enabled": false },
|
||||||
"BiggerStreamPreview": {
|
"NoF1": { "enabled": false },
|
||||||
"enabled": false
|
"NoMosaic": { "enabled": false },
|
||||||
},
|
"NoPendingCount": { "enabled": false },
|
||||||
"BlurNSFW": {
|
"NoProfileThemes": { "enabled": false },
|
||||||
"enabled": false
|
"NoReplyMention": { "enabled": false },
|
||||||
},
|
"NoScreensharePreview": { "enabled": false },
|
||||||
"CallTimer": {
|
"NoTypingAnimation": { "enabled": false },
|
||||||
"enabled": false
|
"NoUnblockToJump": { "enabled": false },
|
||||||
},
|
"NormalizeMessageLinks": { "enabled": false },
|
||||||
"ClearURLs": {
|
"NotificationVolume": { "enabled": false },
|
||||||
"enabled": false
|
"NSFWGateBypass": { "enabled": false },
|
||||||
},
|
"OnePingPerDM": { "enabled": false },
|
||||||
"ClientTheme": {
|
"oneko": { "enabled": false },
|
||||||
"enabled": false
|
"OpenInApp": { "enabled": false },
|
||||||
},
|
"Party mode 🎉": { "enabled": false },
|
||||||
"ColorSighted": {
|
"PermissionFreeWill": { "enabled": false },
|
||||||
"enabled": false
|
"PermissionsViewer": { "enabled": false },
|
||||||
},
|
"petpet": { "enabled": false },
|
||||||
"ConsoleShortcuts": {
|
"PictureInPicture": { "enabled": false },
|
||||||
"enabled": false
|
"PinDMs": { "enabled": false },
|
||||||
},
|
"PlainFolderIcon": { "enabled": false },
|
||||||
"CopyUserURLs": {
|
"PlatformIndicators": { "enabled": false },
|
||||||
"enabled": false
|
"PreviewMessage": { "enabled": false },
|
||||||
},
|
"PronounDB": { "enabled": false },
|
||||||
"CrashHandler": {
|
"QuickMention": { "enabled": false },
|
||||||
"enabled": true
|
"QuickReply": { "enabled": false },
|
||||||
},
|
"ReactErrorDecoder": { "enabled": false },
|
||||||
"CustomRPC": {
|
"ReadAllNotificationsButton": { "enabled": false },
|
||||||
"enabled": false
|
"RelationshipNotifier": { "enabled": false },
|
||||||
},
|
"RevealAllSpoilers": { "enabled": false },
|
||||||
"Dearrow": {
|
"ReverseImageSearch": { "enabled": false },
|
||||||
"enabled": false
|
"ReviewDB": { "enabled": false },
|
||||||
},
|
"RoleColorEverywhere": { "enabled": true },
|
||||||
"Decor": {
|
"SearchReply": { "enabled": false },
|
||||||
"enabled": false
|
"SecretRingToneEnabler": { "enabled": false },
|
||||||
},
|
"SendTimestamps": { "enabled": false },
|
||||||
"DisableCallIdle": {
|
"ServerListIndicators": { "enabled": false },
|
||||||
"enabled": false
|
"ServerProfile": { "enabled": false },
|
||||||
},
|
"ShikiCodeblocks": { "enabled": false },
|
||||||
"EmoteCloner": {
|
"ShowAllMessageButtons": { "enabled": false },
|
||||||
"enabled": false
|
"ShowConnections": { "enabled": false },
|
||||||
},
|
"ShowHiddenChannels": { "enabled": false },
|
||||||
"Experiments": {
|
"ShowMeYourName": { "enabled": false },
|
||||||
"enabled": false
|
"ShowTimeouts": { "enabled": false },
|
||||||
},
|
"SilentMessageToggle": { "enabled": false },
|
||||||
"F8Break": {
|
"SilentTyping": { "enabled": false },
|
||||||
"enabled": false
|
"SortFriendRequests": { "enabled": false },
|
||||||
},
|
"SpotifyControls": { "enabled": false },
|
||||||
"FakeNitro": {
|
"SpotifyCrack": { "enabled": false },
|
||||||
"enabled": false
|
"SpotifyShareCommands": { "enabled": false },
|
||||||
},
|
"StartupTimings": { "enabled": false },
|
||||||
"FakeProfileThemes": {
|
"SuperReactionTweaks": { "enabled": false },
|
||||||
"enabled": true
|
"TextReplace": { "enabled": false },
|
||||||
},
|
"ThemeAttributes": { "enabled": false },
|
||||||
"FavoriteEmojiFirst": {
|
"TimeBarAllActivities": { "enabled": false },
|
||||||
"enabled": false
|
"Translate": { "enabled": false },
|
||||||
},
|
"TypingIndicator": { "enabled": false },
|
||||||
"FavoriteGifSearch": {
|
"TypingTweaks": { "enabled": false },
|
||||||
"enabled": false
|
"Unindent": { "enabled": false },
|
||||||
},
|
"UnsuppressEmbeds": { "enabled": false },
|
||||||
"FixCodeblockGap": {
|
"UrbanDictionary": { "enabled": false },
|
||||||
"enabled": false
|
"UserVoiceShow": { "enabled": false },
|
||||||
},
|
"USRBG": { "enabled": false },
|
||||||
"FixSpotifyEmbeds": {
|
"ValidUser": { "enabled": false },
|
||||||
"enabled": false
|
"VoiceChatDoubleClick": { "enabled": false },
|
||||||
},
|
"VcNarrator": { "enabled": false },
|
||||||
"FixYoutubeEmbeds": {
|
"VencordToolbox": { "enabled": false },
|
||||||
"enabled": false
|
"ViewIcons": { "enabled": false },
|
||||||
},
|
"ViewRaw": { "enabled": false },
|
||||||
"ForceOwnerCrown": {
|
"VoiceMessages": { "enabled": false },
|
||||||
"enabled": false
|
"WebContextMenus": {
|
||||||
},
|
"enabled": true,
|
||||||
"FriendInvites": {
|
"addBack": true },
|
||||||
"enabled": false
|
"WebKeybinds": { "enabled": true },
|
||||||
},
|
"WhoReacted": { "enabled": false },
|
||||||
"GameActivityToggle": {
|
"Wikisearch": { "enabled": false },
|
||||||
"enabled": false
|
"XSOverlay": { "enabled": false }
|
||||||
},
|
},
|
||||||
"GifPaste": {
|
"notifications": {
|
||||||
"enabled": false
|
"timeout": 5000,
|
||||||
},
|
"position": "bottom-right",
|
||||||
"GreetStickerPicker": {
|
"useNative": "not-focused",
|
||||||
"enabled": false
|
"logLimit": 50
|
||||||
},
|
},
|
||||||
"HideAttachments": {
|
"cloud": {
|
||||||
"enabled": false
|
"authenticated": false,
|
||||||
},
|
"url": "https://api.vencord.dev/",
|
||||||
"iLoveSpam": {
|
"settingsSync": false,
|
||||||
"enabled": false
|
"settingsSyncVersion": 1725386648445
|
||||||
},
|
}
|
||||||
"IgnoreActivities": {
|
}
|
||||||
"enabled": false
|
'';
|
||||||
},
|
};
|
||||||
"ImageZoom": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"InvisibleChat": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"KeepCurrentChannel": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"LastFMRichPresence": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"LoadingQuotes": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MemberCount": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MessageClickActions": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MessageLinkEmbeds": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MessageLogger": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MessageTags": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MoreCommands": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MoreKaomoji": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MoreUserTags": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"Moyai": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"MutualGroupDMs": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NewGuildSettings": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoBlockedMessages": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoDevtoolsWarning": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoF1": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoMosaic": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoPendingCount": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoProfileThemes": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoReplyMention": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoScreensharePreview": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoTypingAnimation": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NoUnblockToJump": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NormalizeMessageLinks": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NotificationVolume": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"NSFWGateBypass": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"OnePingPerDM": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"oneko": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"OpenInApp": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"Party mode 🎉": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PermissionFreeWill": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PermissionsViewer": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"petpet": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PictureInPicture": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PinDMs": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PlainFolderIcon": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PlatformIndicators": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PreviewMessage": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"PronounDB": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"QuickMention": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"QuickReply": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ReactErrorDecoder": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ReadAllNotificationsButton": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"RelationshipNotifier": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"RevealAllSpoilers": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ReverseImageSearch": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ReviewDB": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"RoleColorEverywhere": {
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"SearchReply": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SecretRingToneEnabler": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SendTimestamps": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ServerListIndicators": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ServerProfile": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ShikiCodeblocks": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ShowAllMessageButtons": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ShowConnections": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ShowHiddenChannels": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ShowMeYourName": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ShowTimeouts": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SilentMessageToggle": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SilentTyping": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SortFriendRequests": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SpotifyControls": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SpotifyCrack": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SpotifyShareCommands": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"StartupTimings": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"SuperReactionTweaks": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"TextReplace": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ThemeAttributes": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"TimeBarAllActivities": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"Translate": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"TypingIndicator": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"TypingTweaks": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"Unindent": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"UnsuppressEmbeds": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"UrbanDictionary": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"UserVoiceShow": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"USRBG": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ValidUser": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"VoiceChatDoubleClick": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"VcNarrator": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"VencordToolbox": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ViewIcons": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"ViewRaw": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"VoiceMessages": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"WebContextMenus": {
|
|
||||||
"enabled": true,
|
|
||||||
"addBack": true
|
|
||||||
},
|
|
||||||
"WebKeybinds": {
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"WhoReacted": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"Wikisearch": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"XSOverlay": {
|
|
||||||
"enabled": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notifications": {
|
|
||||||
"timeout": 5000,
|
|
||||||
"position": "bottom-right",
|
|
||||||
"useNative": "not-focused",
|
|
||||||
"logLimit": 50
|
|
||||||
},
|
|
||||||
"cloud": {
|
|
||||||
"authenticated": false,
|
|
||||||
"url": "https://api.vencord.dev/",
|
|
||||||
"settingsSync": false,
|
|
||||||
"settingsSyncVersion": 1710459223618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,171 +1,282 @@
|
|||||||
{pkgs, pkgs-unstable, secrets, user, inputs, ...}: {
|
# { pkgs-unstable, secrets, user, system, inputs, ...}:
|
||||||
programs.firefox = {
|
{ rice, user, ... }:
|
||||||
enable = true;
|
{
|
||||||
package = pkgs-unstable.firefox;
|
home.file = with rice.color; {
|
||||||
# package = pkgs.firefox;
|
".mozilla/firefox/${user}/chrome/userChrome.css".text = /* css */ ''
|
||||||
profiles.${user} = {
|
:root{
|
||||||
# extensions = with inputs.firefox-addons; [
|
/* Popup panels */
|
||||||
# ublock-origin
|
--arrowpanel-background : ${background} !important;
|
||||||
# darkreader
|
--arrowpanel-border-color : ${border} !important;
|
||||||
# bitwarden
|
--arrowpanel-color : ${secondary.base} !important;
|
||||||
# flagfox
|
--arrowpanel-dimmed : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
|
||||||
# sponsorblock
|
--arrowpanel-dimmed-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.6) !important;
|
||||||
# languagetool
|
--arrowpanel-dimmed-even-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.8) !important;
|
||||||
# istilldontcareaboutcookies
|
|
||||||
# return-youtube-dislikes
|
|
||||||
# ];
|
|
||||||
extensions = [ inputs.firefox-addons.darkreader ];
|
|
||||||
bookmarks = [
|
|
||||||
{
|
|
||||||
name = "Github Code Search";
|
|
||||||
keyword = "cs";
|
|
||||||
url = "https://github.com/search?type=code&auto_enroll=true";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
settings = {
|
|
||||||
"accessibility.typeaheadfind.flashBar" = 0;
|
|
||||||
"app.normandy.first_run" = false;
|
|
||||||
"app.normandy.migrationsApplied" = 12;
|
|
||||||
"app.normandy.user_id" = "25f4d747-3c5e-40e8-b520-caed34976e7a";
|
|
||||||
"browser.aboutConfig.showWarning" = false;
|
|
||||||
"browser.bookmarks.addedImportButton" = true;
|
|
||||||
"browser.bookmarks.editDialog.confirmationHintShowCount" = 1;
|
|
||||||
"browser.bookmarks.restore_default_bookmarks" = false;
|
|
||||||
"browser.bookmarks.showMobileBookmarks" = true;
|
|
||||||
"browser.contentblocking.category" = "standard";
|
|
||||||
"browser.contextual-services.contextId" = "{7fc76500-3ce1-4c39-8fa5-8e9964c04ecc}";
|
|
||||||
"browser.download.lastDir" = "/home/nx2/Documents";
|
|
||||||
"browser.download.panel.shown" = true;
|
|
||||||
"browser.download.viewableInternally.typeWasRegistered.avif" = true;
|
|
||||||
"browser.download.viewableInternally.typeWasRegistered.webp" = true;
|
|
||||||
"browser.eme.ui.firstContentShown" = true;
|
|
||||||
"browser.engagement.ctrlTab.has-used" = true;
|
|
||||||
"browser.engagement.downloads-button.has-used" = true;
|
|
||||||
"browser.engagement.fxa-toolbar-menu-button.has-used" = true;
|
|
||||||
"browser.laterrun.bookkeeping.sessionCount" = 1;
|
|
||||||
"browser.migration.version" = 144;
|
|
||||||
"browser.newtabpage.activity-stream.impressionId" = "{a6561b3f-3884-4b37-b9c1-c67e80f5792a}";
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
||||||
"browser.newtabpage.activity-stream.topSitesRows" = 2;
|
|
||||||
"browser.newtabpage.pinned" = "[{\"url\":\"https://www.youtube.com/\",\"label\":\"youtube\",\"baseDomain\":\"youtube.com\"},{\"url\":\"https://www.twitch.tv/\",\"baseDomain\":\"twitch.tv\"},{\"url\":\"https://nx2.site/\",\"label\":\"nx2\",\"baseDomain\":\"nx2.site\"},{\"url\":\"https://feddit.de\",\"label\":\"Lemmy\",\"baseDomain\":\"feddit.de\"},{\"url\":\"https://ieji.de\",\"label\":\"Mastadon\",\"baseDomain\":\"ieji.de\"},{\"url\":\"https://www.hs-mittweida.de/\",\"label\":\"HSMW\",\"baseDomain\":\"hs-mittweida.de\"},{\"url\":\"http://wiki.hyprland.org/\",\"label\":\"hyprland\",\"baseDomain\":\"wiki.hyprland.org\"},{\"url\":\"https://wiki.archlinux.org\",\"label\":\"ArchWiki\",\"baseDomain\":\"wiki.archlinux.org\"},{\"url\":\"https://chat.openai.com/\",\"label\":\"ChatGPT\",\"baseDomain\":\"chat.openai.com\"},{\"url\":\"https://www.nerdfonts.com/cheat-sheet\",\"label\":\"Nerdfonts\",\"baseDomain\":\"nerdfonts.com\"},{\"url\":\"http://127.0.0.1:8384/\",\"label\":\"Syncthing\",\"baseDomain\":\"127.0.0.1\"},{\"url\":\"https://lutris.net/\",\"label\":\"Lutris\",\"baseDomain\":\"lutris.net\"},{\"url\":\"https://www.namecheap.com/\",\"label\":\"Namecheap\",\"baseDomain\":\"namecheap.com\"},{\"url\":\"https://hub.docker.com/\",\"label\":\"Docker Hub\",\"baseDomain\":\"hub.docker.com\"},{\"url\":\"https://www.netflix.com/\",\"label\":\"Netflix\",\"baseDomain\":\"netflix.com\"},{\"url\":\"https://www.amazon.de/Amazon-Video/b/?&node=3010075031&ref=dvm_MLP_ROWEU_DE_1\",\"label\":\"Prime Video\"},{\"url\":\"https://translate.google.com/\",\"label\":\"Google Translate\",\"baseDomain\":\"translate.google.com\"}]";
|
|
||||||
"browser.newtabpage.storageVersion" = 1;
|
|
||||||
"browser.pageActions.persistedActions" = "{\"ids\":[\"bookmark\",\"_802a552e-13d1-4683-a40a-1e5325fba4bb_\"],\"idsInUrlbar\":[\"_802a552e-13d1-4683-a40a-1e5325fba4bb_\",\"bookmark\"],\"idsInUrlbarPreProton\":[],\"version\":1}";
|
|
||||||
"browser.pagethumbnails.storage_version" = 3;
|
|
||||||
"browser.pdfjs.feature-tour" = "{\"screen\":\"\",\"complete\":true}";
|
|
||||||
"browser.policies.applied" = true;
|
|
||||||
"browser.proton.toolbar.version" = 3;
|
|
||||||
"browser.rights.3.shown" = true;
|
|
||||||
"browser.search.region" = "DE";
|
|
||||||
"browser.startup.couldRestoreSession.count" = 2;
|
|
||||||
"browser.startup.homepage_override.mstone" = "126.0";
|
|
||||||
"browser.theme.toolbar-theme" = 0;
|
|
||||||
"browser.translations.neverTranslateLanguages" = "de";
|
|
||||||
"browser.translations.panelShown" = true;
|
|
||||||
"browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[\"sponsorblocker_ajay_app-browser-action\",\"_d8b32864-153d-47fb-93ea-c273c4d1ef17_-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\",\"linkhints_lydell_github_io-browser-action\",\"languagetool-webextension_languagetool_org-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"_de22fd49-c9ab-4359-b722-b3febdc3a0b0_-browser-action\",\"amptra_keepa_com-browser-action\",\"pywalfox_frewacom_org-browser-action\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\",\"ublock0_raymondhill_net-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"addon_darkreader_org-browser-action\",\"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"_d8b32864-153d-47fb-93ea-c273c4d1ef17_-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"addon_darkreader_org-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\",\"linkhints_lydell_github_io-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"languagetool-webextension_languagetool_org-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"_de22fd49-c9ab-4359-b722-b3febdc3a0b0_-browser-action\",\"amptra_keepa_com-browser-action\",\"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action\",\"pywalfox_frewacom_org-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"unified-extensions-area\"],\"currentVersion\":20,\"newElementCount\":2}";
|
|
||||||
"browser.urlbar.placeholderName" = "Google";
|
|
||||||
"browser.urlbar.placeholderName.private" = "Google";
|
|
||||||
"browser.urlbar.quicksuggest.migrationVersion" = 2;
|
|
||||||
"browser.urlbar.quicksuggest.scenario" = "history";
|
|
||||||
"browser.urlbar.tipShownCount.searchTip_onboard" = 4;
|
|
||||||
"browser.urlbar.tipShownCount.searchTip_redirect" = 1;
|
|
||||||
"datareporting.policy.dataSubmissionPolicyAcceptedVersion" = 2;
|
|
||||||
"devtools.debugger.prefs-schema-version" = 11;
|
|
||||||
"devtools.everOpened" = true;
|
|
||||||
"devtools.inspector.activeSidebar" = "animationinspector";
|
|
||||||
"devtools.inspector.selectedSidebar" = "animationinspector";
|
|
||||||
"devtools.netmonitor.columnsData" = "[{\"name\":\"status\",\"minWidth\":30,\"width\":5.56},{\"name\":\"method\",\"minWidth\":30,\"width\":5.56},{\"name\":\"domain\",\"minWidth\":30,\"width\":11.11},{\"name\":\"file\",\"minWidth\":30,\"width\":27.78},{\"name\":\"url\",\"minWidth\":30,\"width\":25},{\"name\":\"initiator\",\"minWidth\":30,\"width\":11.11},{\"name\":\"type\",\"minWidth\":30,\"width\":5.56},{\"name\":\"transferred\",\"minWidth\":30,\"width\":11.11},{\"name\":\"contentSize\",\"minWidth\":30,\"width\":5.56},{\"name\":\"waterfall\",\"minWidth\":150,\"width\":16.67}]";
|
|
||||||
"devtools.netmonitor.msg.visibleColumns" = "[\"data\",\"time\"]";
|
|
||||||
"devtools.toolbox.host" = "window";
|
|
||||||
"devtools.toolbox.sidebar.width" = 1406;
|
|
||||||
"devtools.toolsidebar-height.inspector" = 350;
|
|
||||||
"devtools.toolsidebar-width.inspector" = 816;
|
|
||||||
"devtools.toolsidebar-width.inspector.splitsidebar" = 513;
|
|
||||||
"distribution.iniFile.exists.appversion" = "126.0";
|
|
||||||
"distribution.iniFile.exists.value" = true;
|
|
||||||
"distribution.nixos.bookmarksProcessed" = true;
|
|
||||||
"doh-rollout.doneFirstRun" = true;
|
|
||||||
"doh-rollout.home-region" = "DE";
|
|
||||||
"dom.forms.autocomplete.formautofill" = true;
|
|
||||||
"dom.push.userAgentID" = "d5b33ca6eafc45e5b8ce2161eb075680";
|
|
||||||
"extensions.activeThemeID" = "{9b84b6b4-07c4-4b4b-ba21-394d86f6e9ee}";
|
|
||||||
"extensions.blocklist.pingCountVersion" = -1;
|
|
||||||
"extensions.databaseSchema" = 36;
|
|
||||||
"extensions.getAddons.databaseSchema" = 6;
|
|
||||||
"extensions.lastAppBuildId" = "20240509170740";
|
|
||||||
"extensions.lastAppVersion" = "126.0";
|
|
||||||
"extensions.lastPlatformVersion" = "126.0";
|
|
||||||
"extensions.pendingOperations" = false;
|
|
||||||
"extensions.pictureinpicture.enable_picture_in_picture_overrides" = true;
|
|
||||||
"extensions.quarantinedDomains.list" = "autoatendimento.bb.com.br,ibpf.sicredi.com.br,ibpj.sicredi.com.br,internetbanking.caixa.gov.br,www.ib12.bradesco.com.br,www2.bancobrasil.com.br";
|
|
||||||
"extensions.systemAddonSet" = "{\"schema\":1,\"addons\":{}}";
|
|
||||||
"extensions.ui.dictionary.hidden" = true;
|
|
||||||
"extensions.ui.extension.hidden" = false;
|
|
||||||
"extensions.ui.lastCategory" = "addons://list/extension";
|
|
||||||
"extensions.ui.locale.hidden" = true;
|
|
||||||
"extensions.ui.sitepermission.hidden" = true;
|
|
||||||
"extensions.webcompat.enable_shims" = true;
|
|
||||||
"extensions.webcompat.perform_injections" = true;
|
|
||||||
"extensions.webcompat.perform_ua_overrides" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.addon@darkreader.org" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.amptra@keepa.com" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.jid1-D7momAzRw417Ag@jetpack" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.jid1-KKzOGWgsW3Ao4Q@jetpack" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.languagetool-webextension@languagetool.org" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.linkhints@lydell.github.io" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.sponsorBlocker@ajay.app" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.uBlock0@raymondhill.net" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.{446900e4-71c2-419f-a6a7-df9c091e268b}" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.{802a552e-13d1-4683-a40a-1e5325fba4bb}" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.{d8b32864-153d-47fb-93ea-c273c4d1ef17}" = true;
|
|
||||||
"extensions.webextensions.ExtensionStorageIDB.migrated.{de22fd49-c9ab-4359-b722-b3febdc3a0b0}" = true;
|
|
||||||
"extensions.webextensions.uuids" = "{\"formautofill@mozilla.org\":\"62543e0a-fb48-4cb5-bb50-7bc1d34123eb\",\"pictureinpicture@mozilla.org\":\"72b053a7-04e4-443d-9eb0-788fee741317\",\"screenshots@mozilla.org\":\"b0da1868-7ce5-4126-836c-cb27f7c90fd1\",\"webcompat-reporter@mozilla.org\":\"53128b30-09e3-498f-b327-8297bca2a694\",\"webcompat@mozilla.org\":\"e3fce76c-5b97-4ed2-a127-5f54ea2b55a6\",\"default-theme@mozilla.org\":\"edf40636-48ae-479c-bb15-d2c1c594f4f3\",\"addons-search-detection@mozilla.com\":\"65723b37-68b8-4463-964e-000a9efc4bee\",\"google@search.mozilla.org\":\"e8fd2d91-fda9-450d-9410-c475b13cd126\",\"wikipedia@search.mozilla.org\":\"2cb739cf-5028-4ba1-8df8-a6b4035d3e3f\",\"bing@search.mozilla.org\":\"2836d1bb-c71f-451a-a7c9-5ed0304a71fb\",\"ddg@search.mozilla.org\":\"8280c1b4-90bb-4ca8-b1e3-9c64c1cb4740\",\"{d8b32864-153d-47fb-93ea-c273c4d1ef17}\":\"6cd42543-07ad-499d-ac1f-f755b26bc2c5\",\"uBlock0@raymondhill.net\":\"d57779a5-82b8-40d3-8a7b-05b25c9e86ac\",\"{802a552e-13d1-4683-a40a-1e5325fba4bb}\":\"ac3677b0-913d-4025-a37c-5cad38597584\",\"{446900e4-71c2-419f-a6a7-df9c091e268b}\":\"6978384a-6166-415d-ab6e-a6adfbe6731d\",\"addon@darkreader.org\":\"b691cdc2-fb80-4767-9baf-bc63d916deb6\",\"{762f9885-5a13-4abd-9c77-433dcd38b8fd}\":\"6830a911-9fbf-4c6a-b07b-0293a16f919d\",\"linkhints@lydell.github.io\":\"040ed779-4e1a-4be8-bb2f-1202d6406573\",\"jid1-q4sG8pYhq8KGHs@jetpack\":\"1c3283fc-303b-4984-aa6a-3d599b7dc543\",\"sponsorBlocker@ajay.app\":\"22d4703c-dabe-4d7c-95c7-3d1527e19ef6\",\"jid1-D7momAzRw417Ag@jetpack\":\"fd28819b-1fe8-401b-8d1b-ba42808f4983\",\"{ceb74424-e8e6-4023-b972-a12e50e17fcb}\":\"ef19aad8-0b64-49d3-84f0-af90c440df49\",\"languagetool-webextension@languagetool.org\":\"b3622472-5123-41be-8b48-f2040b0d2424\",\"jid1-KKzOGWgsW3Ao4Q@jetpack\":\"283cf64b-0d7a-4fd6-8579-876ba162e3eb\",\"{de22fd49-c9ab-4359-b722-b3febdc3a0b0}\":\"4c6ae857-dccb-4a09-a2eb-8351afef4cb9\",\"amptra@keepa.com\":\"85562121-cb4f-4138-a608-d61bd0c2852a\",\"{bc5ae657-5db8-4f8a-b558-e7343e127fee}\":\"d5468646-933b-4941-9ab2-007faf58f8c1\",\"{9b84b6b4-07c4-4b4b-ba21-394d86f6e9ee}\":\"6e250173-0b11-41a3-b3f9-f1527394f0c6\"}";
|
|
||||||
"gecko.handlerService.defaultHandlersVersion" = 1;
|
|
||||||
"identity.fxaccounts.account.device.name" = "nx2’s Firefox on NxXPS";
|
|
||||||
"identity.fxaccounts.account.telemetry.sanitized_uid" = "13f64fe3ab835d96147cefb0f5c11287";
|
|
||||||
"identity.fxaccounts.lastSignedInUserHash" = "u2qaIKiezOjW/0+5BuKsVe+1+U7k3SSH4qAuEPoL7Tc=";
|
|
||||||
"identity.fxaccounts.toolbar.accessed" = true;
|
|
||||||
"media.eme.enabled" = true;
|
|
||||||
"media.gmp-gmpopenh264.abi" = "x86_64-gcc3";
|
|
||||||
"media.gmp-gmpopenh264.hashValue" = "53a58bfb4c8124ad4f7655b99bfdea290033a085e0796b19245b33b91c0948fdac9f0c3e817130b352493a65d9a7a0fc8a7c1eedc618cdaa2b4580734a11cd9c";
|
|
||||||
"media.gmp-gmpopenh264.version" = "2.3.2";
|
|
||||||
"media.gmp-manager.buildID" = "20240509170740";
|
|
||||||
"media.gmp-widevinecdm.abi" = "x86_64-gcc3";
|
|
||||||
"media.gmp-widevinecdm.hashValue" = "661ad969099a89a278384f56a17ae912c3542d585ea4981f3b9a3c6e1a07f8da6ffad9db29cee194bf7834adc3ca258c775cd2b0980e3e6cb7ee8b39600dad58";
|
|
||||||
"media.gmp-widevinecdm.version" = "4.10.2710.0";
|
|
||||||
"media.gmp.storage.version.observed" = 1;
|
|
||||||
"media.videocontrols.picture-in-picture.video-toggle.has-used" = true;
|
|
||||||
"network.dns.disablePrefetch" = true;
|
|
||||||
"network.http.speculative-parallel-limit" = 0;
|
|
||||||
"network.predictor.enabled" = false;
|
|
||||||
"network.prefetch-next" = false;
|
|
||||||
"network.proxy.type" = 4;
|
|
||||||
"nimbus.syncdefaultsstore.upgradeDialog" = "{\"slug\":\"upgrade-spotlight-rollout\",\"branch\":{\"slug\":\"treatment\",\"ratio\":1,\"feature\":{\"value\":null,\"enabled\":true,\"featureId\":\"upgradeDialog\"},\"features\":null},\"active\":true,\"experimentType\":\"rollout\",\"source\":\"rs-loader\",\"userFacingName\":\"Upgrade Spotlight Rollout\",\"userFacingDescription\":\"Experimenting on onboarding content when you upgrade Firefox.\",\"lastSeen\":\"2024-04-09T08:41:11.293Z\",\"featureIds\":[\"upgradeDialog\"],\"prefs\":[],\"isRollout\":true}";
|
|
||||||
"nimbus.syncdefaultsstore.upgradeDialog.enabled" = false;
|
|
||||||
"pdfjs.enabledCache.state" = true;
|
|
||||||
"pdfjs.migrationVersion" = 2;
|
|
||||||
"pref.privacy.disable_button.view_passwords" = false;
|
|
||||||
"privacy.purge_trackers.date_in_cookie_database" = "0";
|
|
||||||
"privacy.sanitize.pending" = "[{\"id\":\"newtab-container\",\"itemsToClear\":[],\"options\":{}}]";
|
|
||||||
"security.sandbox.content.tempDirSuffix" = "83e3690e-e3e1-4bf5-b085-737b3a2792c9";
|
|
||||||
"services.settings.clock_skew_seconds" = 0;
|
|
||||||
"services.sync.username" = secrets.email.gmail-online.mail;
|
|
||||||
"signon.autofillForms" = false;
|
|
||||||
"signon.rememberSignons" = false;
|
|
||||||
"storage.vacuum.last.index" = 2;
|
|
||||||
"toolkit.telemetry.cachedClientID" = "d2c7964b-01ee-49bf-94a9-329bd47d7606";
|
|
||||||
"toolkit.telemetry.pioneer-new-studies-available" = true;
|
|
||||||
"toolkit.telemetry.previousBuildID" = "20240509170740";
|
|
||||||
"toolkit.telemetry.reportingpolicy.firstRun" = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# xdg.mimeApps.defaultApplications = {
|
/* Autocomplete */
|
||||||
# "text/html" = ["firefox.desktop"];
|
--autocomplete-popup-background : ${background} !important;
|
||||||
# "text/xml" = ["firefox.desktop"];
|
--autocomplete-popup-color : ${foreground} !important;
|
||||||
# "x-scheme-handler/http" = ["firefox.desktop"];
|
--autocomplete-popup-highlight-background: ${accent.base} !important;
|
||||||
# "x-scheme-handler/https" = ["firefox.desktop"];
|
--autocomplete-popup-highlight-color : ${foreground} !important;
|
||||||
# };
|
|
||||||
|
/* Toolbar background */
|
||||||
|
--toolbar-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
|
||||||
|
--toolbar-non-lwt-bgcolor : ${background} !important;
|
||||||
|
--toolbar-non-lwt-bgimage : none !important;
|
||||||
|
--toolbar-color : ${foreground} !important;
|
||||||
|
|
||||||
|
/* Tabs */
|
||||||
|
--tab-selected-bgcolor : ${accent.base} !important;
|
||||||
|
--tabs-border-color : ${border} !important;
|
||||||
|
--tab-line-color : ${accent.base} !important;
|
||||||
|
--tab-loader-size : 16px !important;
|
||||||
|
|
||||||
|
/* Sidebar */
|
||||||
|
--lwt-sidebar-background-color : ${background} !important;
|
||||||
|
--lwt-sidebar-text-color : ${foreground} !important;
|
||||||
|
--sidebar-background-color : ${background} !important;
|
||||||
|
--sidebar-text-color : ${foreground} !important;
|
||||||
|
--sidebar-border-color : ${border} !important;
|
||||||
|
|
||||||
|
/* URL bar */
|
||||||
|
--urlbar-popup-url-color : ${foreground} !important;
|
||||||
|
--urlbar-popup-action-color : ${secondary.base} !important;
|
||||||
|
--toolbar-field-background-color : ${background} !important;
|
||||||
|
--toolbar-field-focus-background-color : ${background} !important;
|
||||||
|
--toolbar-field-color : ${accent.base} !important;
|
||||||
|
--toolbar-field-focus-color : ${foreground} !important;
|
||||||
|
--toolbar-field-focus-border-color : ${accent.base} !important;
|
||||||
|
|
||||||
|
/* Buttons */
|
||||||
|
--toolbarbutton-icon-fill : ${foreground} !important;
|
||||||
|
--toolbarbutton-hover-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.2) !important;
|
||||||
|
--toolbarbutton-active-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.4) !important;
|
||||||
|
|
||||||
|
/* Notification and panel */
|
||||||
|
--panel-disabled-color : rgba(${rice.lib.hex-to-rgb-comma-string foreground},0.3) !important;
|
||||||
|
--panel-separator-color : ${border} !important;
|
||||||
|
|
||||||
|
/* New tab page */
|
||||||
|
--newtab-background-color : ${background} !important;
|
||||||
|
--newtab-background-color-secondary : ${background} !important;
|
||||||
|
--newtab-text-primary-color : ${foreground} !important;
|
||||||
|
--newtab-text-secondary-color : ${secondary.base} !important;
|
||||||
|
--newtab-search-icon-color : ${accent.base} !important;
|
||||||
|
|
||||||
|
--tabpanel-background-color : transparent !important;
|
||||||
|
background : transparent !important;
|
||||||
|
}
|
||||||
|
.tabbrowser-tab[selected="true"] {
|
||||||
|
color: ${background} !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#appcontent {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
#navigator-toolbox {
|
||||||
|
--tabs-border-color: none !important;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
".mozilla/firefox/${user}/chrome/userContent.css".text = /* css */ ''
|
||||||
|
/* Removes the white loading page */
|
||||||
|
/* url(about:newtab), url(about:home) */
|
||||||
|
@-moz-document url(about:blank) {
|
||||||
|
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
|
||||||
|
background: ${background} !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sets up minimal incognito scrollbar */
|
||||||
|
@-moz-document url(about:privatebrowsing) {
|
||||||
|
:root{
|
||||||
|
scrollbar-width: thin !important;
|
||||||
|
scrollbar-color: rgb(161, 161, 161) transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* new-tab */
|
||||||
|
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
|
||||||
|
body, html {
|
||||||
|
/* background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important; */
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# {
|
||||||
|
# programs.firefox = {
|
||||||
|
# enable = true;
|
||||||
|
# package = pkgs-unstable.firefox;
|
||||||
|
# # package = pkgs.firefox;
|
||||||
|
# profiles.${user} = {
|
||||||
|
# # extensions = with inputs.firefox-addons; [
|
||||||
|
# # ublock-origin
|
||||||
|
# # darkreader
|
||||||
|
# # bitwarden
|
||||||
|
# # flagfox
|
||||||
|
# # sponsorblock
|
||||||
|
# # languagetool
|
||||||
|
# # istilldontcareaboutcookies
|
||||||
|
# # return-youtube-dislikes
|
||||||
|
# # ];
|
||||||
|
# extensions = with inputs.firefox-addons.packages."${system}"; [
|
||||||
|
# darkreader
|
||||||
|
# ublock-origin
|
||||||
|
# darkreader
|
||||||
|
# bitwarden
|
||||||
|
# sponsorblock
|
||||||
|
# # languagetool
|
||||||
|
# istilldontcareaboutcookies
|
||||||
|
# return-youtube-dislikes
|
||||||
|
|
||||||
|
# vimium-c
|
||||||
|
# ];
|
||||||
|
# bookmarks = [
|
||||||
|
# {
|
||||||
|
# name = "Github Code Search";
|
||||||
|
# keyword = "cs";
|
||||||
|
# url = "https://github.com/search?type=code&auto_enroll=true";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# settings = {
|
||||||
|
# "accessibility.typeaheadfind.flashBar" = 0;
|
||||||
|
# "app.normandy.first_run" = false;
|
||||||
|
# "app.normandy.migrationsApplied" = 12;
|
||||||
|
# "app.normandy.user_id" = "25f4d747-3c5e-40e8-b520-caed34976e7a";
|
||||||
|
# "browser.aboutConfig.showWarning" = false;
|
||||||
|
# "browser.bookmarks.addedImportButton" = true;
|
||||||
|
# "browser.bookmarks.editDialog.confirmationHintShowCount" = 1;
|
||||||
|
# "browser.bookmarks.restore_default_bookmarks" = false;
|
||||||
|
# "browser.bookmarks.showMobileBookmarks" = true;
|
||||||
|
# "browser.contentblocking.category" = "standard";
|
||||||
|
# "browser.contextual-services.contextId" = "{7fc76500-3ce1-4c39-8fa5-8e9964c04ecc}";
|
||||||
|
# "browser.download.lastDir" = "/home/nx2/Documents";
|
||||||
|
# "browser.download.panel.shown" = true;
|
||||||
|
# "browser.download.viewableInternally.typeWasRegistered.avif" = true;
|
||||||
|
# "browser.download.viewableInternally.typeWasRegistered.webp" = true;
|
||||||
|
# "browser.eme.ui.firstContentShown" = true;
|
||||||
|
# "browser.engagement.ctrlTab.has-used" = true;
|
||||||
|
# "browser.engagement.downloads-button.has-used" = true;
|
||||||
|
# "browser.engagement.fxa-toolbar-menu-button.has-used" = true;
|
||||||
|
# "browser.laterrun.bookkeeping.sessionCount" = 1;
|
||||||
|
# "browser.migration.version" = 144;
|
||||||
|
# "browser.newtabpage.activity-stream.impressionId" = "{a6561b3f-3884-4b37-b9c1-c67e80f5792a}";
|
||||||
|
# "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
# "browser.newtabpage.activity-stream.topSitesRows" = 2;
|
||||||
|
# "browser.newtabpage.pinned" = "[{\"url\":\"https://www.youtube.com/\",\"label\":\"youtube\",\"baseDomain\":\"youtube.com\"},{\"url\":\"https://www.twitch.tv/\",\"baseDomain\":\"twitch.tv\"},{\"url\":\"https://nx2.site/\",\"label\":\"nx2\",\"baseDomain\":\"nx2.site\"},{\"url\":\"https://feddit.de\",\"label\":\"Lemmy\",\"baseDomain\":\"feddit.de\"},{\"url\":\"https://ieji.de\",\"label\":\"Mastadon\",\"baseDomain\":\"ieji.de\"},{\"url\":\"https://www.hs-mittweida.de/\",\"label\":\"HSMW\",\"baseDomain\":\"hs-mittweida.de\"},{\"url\":\"http://wiki.hyprland.org/\",\"label\":\"hyprland\",\"baseDomain\":\"wiki.hyprland.org\"},{\"url\":\"https://wiki.archlinux.org\",\"label\":\"ArchWiki\",\"baseDomain\":\"wiki.archlinux.org\"},{\"url\":\"https://chat.openai.com/\",\"label\":\"ChatGPT\",\"baseDomain\":\"chat.openai.com\"},{\"url\":\"https://www.nerdfonts.com/cheat-sheet\",\"label\":\"Nerdfonts\",\"baseDomain\":\"nerdfonts.com\"},{\"url\":\"http://127.0.0.1:8384/\",\"label\":\"Syncthing\",\"baseDomain\":\"127.0.0.1\"},{\"url\":\"https://lutris.net/\",\"label\":\"Lutris\",\"baseDomain\":\"lutris.net\"},{\"url\":\"https://www.namecheap.com/\",\"label\":\"Namecheap\",\"baseDomain\":\"namecheap.com\"},{\"url\":\"https://hub.docker.com/\",\"label\":\"Docker Hub\",\"baseDomain\":\"hub.docker.com\"},{\"url\":\"https://www.netflix.com/\",\"label\":\"Netflix\",\"baseDomain\":\"netflix.com\"},{\"url\":\"https://www.amazon.de/Amazon-Video/b/?&node=3010075031&ref=dvm_MLP_ROWEU_DE_1\",\"label\":\"Prime Video\"},{\"url\":\"https://translate.google.com/\",\"label\":\"Google Translate\",\"baseDomain\":\"translate.google.com\"}]";
|
||||||
|
# "browser.newtabpage.storageVersion" = 1;
|
||||||
|
# "browser.pageActions.persistedActions" = "{\"ids\":[\"bookmark\",\"_802a552e-13d1-4683-a40a-1e5325fba4bb_\"],\"idsInUrlbar\":[\"_802a552e-13d1-4683-a40a-1e5325fba4bb_\",\"bookmark\"],\"idsInUrlbarPreProton\":[],\"version\":1}";
|
||||||
|
# "browser.pagethumbnails.storage_version" = 3;
|
||||||
|
# "browser.pdfjs.feature-tour" = "{\"screen\":\"\",\"complete\":true}";
|
||||||
|
# "browser.policies.applied" = true;
|
||||||
|
# "browser.proton.toolbar.version" = 3;
|
||||||
|
# "browser.rights.3.shown" = true;
|
||||||
|
# "browser.search.region" = "DE";
|
||||||
|
# "browser.startup.couldRestoreSession.count" = 2;
|
||||||
|
# "browser.startup.homepage_override.mstone" = "126.0";
|
||||||
|
# "browser.theme.toolbar-theme" = 0;
|
||||||
|
# "browser.translations.neverTranslateLanguages" = "de";
|
||||||
|
# "browser.translations.panelShown" = true;
|
||||||
|
# "browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[\"sponsorblocker_ajay_app-browser-action\",\"_d8b32864-153d-47fb-93ea-c273c4d1ef17_-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\",\"linkhints_lydell_github_io-browser-action\",\"languagetool-webextension_languagetool_org-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"_de22fd49-c9ab-4359-b722-b3febdc3a0b0_-browser-action\",\"amptra_keepa_com-browser-action\",\"pywalfox_frewacom_org-browser-action\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\",\"ublock0_raymondhill_net-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"addon_darkreader_org-browser-action\",\"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"_d8b32864-153d-47fb-93ea-c273c4d1ef17_-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"addon_darkreader_org-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\",\"linkhints_lydell_github_io-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"languagetool-webextension_languagetool_org-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"_de22fd49-c9ab-4359-b722-b3febdc3a0b0_-browser-action\",\"amptra_keepa_com-browser-action\",\"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action\",\"pywalfox_frewacom_org-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"unified-extensions-area\"],\"currentVersion\":20,\"newElementCount\":2}";
|
||||||
|
# "browser.urlbar.placeholderName" = "Google";
|
||||||
|
# "browser.urlbar.placeholderName.private" = "Google";
|
||||||
|
# "browser.urlbar.quicksuggest.migrationVersion" = 2;
|
||||||
|
# "browser.urlbar.quicksuggest.scenario" = "history";
|
||||||
|
# "browser.urlbar.tipShownCount.searchTip_onboard" = 4;
|
||||||
|
# "browser.urlbar.tipShownCount.searchTip_redirect" = 1;
|
||||||
|
# "datareporting.policy.dataSubmissionPolicyAcceptedVersion" = 2;
|
||||||
|
# "devtools.debugger.prefs-schema-version" = 11;
|
||||||
|
# "devtools.everOpened" = true;
|
||||||
|
# "devtools.inspector.activeSidebar" = "animationinspector";
|
||||||
|
# "devtools.inspector.selectedSidebar" = "animationinspector";
|
||||||
|
# "devtools.netmonitor.columnsData" = "[{\"name\":\"status\",\"minWidth\":30,\"width\":5.56},{\"name\":\"method\",\"minWidth\":30,\"width\":5.56},{\"name\":\"domain\",\"minWidth\":30,\"width\":11.11},{\"name\":\"file\",\"minWidth\":30,\"width\":27.78},{\"name\":\"url\",\"minWidth\":30,\"width\":25},{\"name\":\"initiator\",\"minWidth\":30,\"width\":11.11},{\"name\":\"type\",\"minWidth\":30,\"width\":5.56},{\"name\":\"transferred\",\"minWidth\":30,\"width\":11.11},{\"name\":\"contentSize\",\"minWidth\":30,\"width\":5.56},{\"name\":\"waterfall\",\"minWidth\":150,\"width\":16.67}]";
|
||||||
|
# "devtools.netmonitor.msg.visibleColumns" = "[\"data\",\"time\"]";
|
||||||
|
# "devtools.toolbox.host" = "window";
|
||||||
|
# "devtools.toolbox.sidebar.width" = 1406;
|
||||||
|
# "devtools.toolsidebar-height.inspector" = 350;
|
||||||
|
# "devtools.toolsidebar-width.inspector" = 816;
|
||||||
|
# "devtools.toolsidebar-width.inspector.splitsidebar" = 513;
|
||||||
|
# "distribution.iniFile.exists.appversion" = "126.0";
|
||||||
|
# "distribution.iniFile.exists.value" = true;
|
||||||
|
# "distribution.nixos.bookmarksProcessed" = true;
|
||||||
|
# "doh-rollout.doneFirstRun" = true;
|
||||||
|
# "doh-rollout.home-region" = "DE";
|
||||||
|
# "dom.forms.autocomplete.formautofill" = true;
|
||||||
|
# "dom.push.userAgentID" = "d5b33ca6eafc45e5b8ce2161eb075680";
|
||||||
|
# "extensions.activeThemeID" = "{9b84b6b4-07c4-4b4b-ba21-394d86f6e9ee}";
|
||||||
|
# "extensions.blocklist.pingCountVersion" = -1;
|
||||||
|
# "extensions.databaseSchema" = 36;
|
||||||
|
# "extensions.getAddons.databaseSchema" = 6;
|
||||||
|
# "extensions.lastAppBuildId" = "20240509170740";
|
||||||
|
# "extensions.lastAppVersion" = "126.0";
|
||||||
|
# "extensions.lastPlatformVersion" = "126.0";
|
||||||
|
# "extensions.pendingOperations" = false;
|
||||||
|
# "extensions.pictureinpicture.enable_picture_in_picture_overrides" = true;
|
||||||
|
# "extensions.quarantinedDomains.list" = "autoatendimento.bb.com.br,ibpf.sicredi.com.br,ibpj.sicredi.com.br,internetbanking.caixa.gov.br,www.ib12.bradesco.com.br,www2.bancobrasil.com.br";
|
||||||
|
# "extensions.systemAddonSet" = "{\"schema\":1,\"addons\":{}}";
|
||||||
|
# "extensions.ui.dictionary.hidden" = true;
|
||||||
|
# "extensions.ui.extension.hidden" = false;
|
||||||
|
# "extensions.ui.lastCategory" = "addons://list/extension";
|
||||||
|
# "extensions.ui.locale.hidden" = true;
|
||||||
|
# "extensions.ui.sitepermission.hidden" = true;
|
||||||
|
# "extensions.webcompat.enable_shims" = true;
|
||||||
|
# "extensions.webcompat.perform_injections" = true;
|
||||||
|
# "extensions.webcompat.perform_ua_overrides" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.addon@darkreader.org" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.amptra@keepa.com" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.jid1-D7momAzRw417Ag@jetpack" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.jid1-KKzOGWgsW3Ao4Q@jetpack" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.languagetool-webextension@languagetool.org" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.linkhints@lydell.github.io" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.sponsorBlocker@ajay.app" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.uBlock0@raymondhill.net" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.{446900e4-71c2-419f-a6a7-df9c091e268b}" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.{802a552e-13d1-4683-a40a-1e5325fba4bb}" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.{d8b32864-153d-47fb-93ea-c273c4d1ef17}" = true;
|
||||||
|
# "extensions.webextensions.ExtensionStorageIDB.migrated.{de22fd49-c9ab-4359-b722-b3febdc3a0b0}" = true;
|
||||||
|
# "extensions.webextensions.uuids" = "{\"formautofill@mozilla.org\":\"62543e0a-fb48-4cb5-bb50-7bc1d34123eb\",\"pictureinpicture@mozilla.org\":\"72b053a7-04e4-443d-9eb0-788fee741317\",\"screenshots@mozilla.org\":\"b0da1868-7ce5-4126-836c-cb27f7c90fd1\",\"webcompat-reporter@mozilla.org\":\"53128b30-09e3-498f-b327-8297bca2a694\",\"webcompat@mozilla.org\":\"e3fce76c-5b97-4ed2-a127-5f54ea2b55a6\",\"default-theme@mozilla.org\":\"edf40636-48ae-479c-bb15-d2c1c594f4f3\",\"addons-search-detection@mozilla.com\":\"65723b37-68b8-4463-964e-000a9efc4bee\",\"google@search.mozilla.org\":\"e8fd2d91-fda9-450d-9410-c475b13cd126\",\"wikipedia@search.mozilla.org\":\"2cb739cf-5028-4ba1-8df8-a6b4035d3e3f\",\"bing@search.mozilla.org\":\"2836d1bb-c71f-451a-a7c9-5ed0304a71fb\",\"ddg@search.mozilla.org\":\"8280c1b4-90bb-4ca8-b1e3-9c64c1cb4740\",\"{d8b32864-153d-47fb-93ea-c273c4d1ef17}\":\"6cd42543-07ad-499d-ac1f-f755b26bc2c5\",\"uBlock0@raymondhill.net\":\"d57779a5-82b8-40d3-8a7b-05b25c9e86ac\",\"{802a552e-13d1-4683-a40a-1e5325fba4bb}\":\"ac3677b0-913d-4025-a37c-5cad38597584\",\"{446900e4-71c2-419f-a6a7-df9c091e268b}\":\"6978384a-6166-415d-ab6e-a6adfbe6731d\",\"addon@darkreader.org\":\"b691cdc2-fb80-4767-9baf-bc63d916deb6\",\"{762f9885-5a13-4abd-9c77-433dcd38b8fd}\":\"6830a911-9fbf-4c6a-b07b-0293a16f919d\",\"linkhints@lydell.github.io\":\"040ed779-4e1a-4be8-bb2f-1202d6406573\",\"jid1-q4sG8pYhq8KGHs@jetpack\":\"1c3283fc-303b-4984-aa6a-3d599b7dc543\",\"sponsorBlocker@ajay.app\":\"22d4703c-dabe-4d7c-95c7-3d1527e19ef6\",\"jid1-D7momAzRw417Ag@jetpack\":\"fd28819b-1fe8-401b-8d1b-ba42808f4983\",\"{ceb74424-e8e6-4023-b972-a12e50e17fcb}\":\"ef19aad8-0b64-49d3-84f0-af90c440df49\",\"languagetool-webextension@languagetool.org\":\"b3622472-5123-41be-8b48-f2040b0d2424\",\"jid1-KKzOGWgsW3Ao4Q@jetpack\":\"283cf64b-0d7a-4fd6-8579-876ba162e3eb\",\"{de22fd49-c9ab-4359-b722-b3febdc3a0b0}\":\"4c6ae857-dccb-4a09-a2eb-8351afef4cb9\",\"amptra@keepa.com\":\"85562121-cb4f-4138-a608-d61bd0c2852a\",\"{bc5ae657-5db8-4f8a-b558-e7343e127fee}\":\"d5468646-933b-4941-9ab2-007faf58f8c1\",\"{9b84b6b4-07c4-4b4b-ba21-394d86f6e9ee}\":\"6e250173-0b11-41a3-b3f9-f1527394f0c6\"}";
|
||||||
|
# "gecko.handlerService.defaultHandlersVersion" = 1;
|
||||||
|
# "identity.fxaccounts.account.device.name" = "nx2’s Firefox on NxXPS";
|
||||||
|
# "identity.fxaccounts.account.telemetry.sanitized_uid" = "13f64fe3ab835d96147cefb0f5c11287";
|
||||||
|
# "identity.fxaccounts.lastSignedInUserHash" = "u2qaIKiezOjW/0+5BuKsVe+1+U7k3SSH4qAuEPoL7Tc=";
|
||||||
|
# "identity.fxaccounts.toolbar.accessed" = true;
|
||||||
|
# "media.eme.enabled" = true;
|
||||||
|
# "media.gmp-gmpopenh264.abi" = "x86_64-gcc3";
|
||||||
|
# "media.gmp-gmpopenh264.hashValue" = "53a58bfb4c8124ad4f7655b99bfdea290033a085e0796b19245b33b91c0948fdac9f0c3e817130b352493a65d9a7a0fc8a7c1eedc618cdaa2b4580734a11cd9c";
|
||||||
|
# "media.gmp-gmpopenh264.version" = "2.3.2";
|
||||||
|
# "media.gmp-manager.buildID" = "20240509170740";
|
||||||
|
# "media.gmp-widevinecdm.abi" = "x86_64-gcc3";
|
||||||
|
# "media.gmp-widevinecdm.hashValue" = "661ad969099a89a278384f56a17ae912c3542d585ea4981f3b9a3c6e1a07f8da6ffad9db29cee194bf7834adc3ca258c775cd2b0980e3e6cb7ee8b39600dad58";
|
||||||
|
# "media.gmp-widevinecdm.version" = "4.10.2710.0";
|
||||||
|
# "media.gmp.storage.version.observed" = 1;
|
||||||
|
# "media.videocontrols.picture-in-picture.video-toggle.has-used" = true;
|
||||||
|
# "network.dns.disablePrefetch" = true;
|
||||||
|
# "network.http.speculative-parallel-limit" = 0;
|
||||||
|
# "network.predictor.enabled" = false;
|
||||||
|
# "network.prefetch-next" = false;
|
||||||
|
# "network.proxy.type" = 4;
|
||||||
|
# "nimbus.syncdefaultsstore.upgradeDialog" = "{\"slug\":\"upgrade-spotlight-rollout\",\"branch\":{\"slug\":\"treatment\",\"ratio\":1,\"feature\":{\"value\":null,\"enabled\":true,\"featureId\":\"upgradeDialog\"},\"features\":null},\"active\":true,\"experimentType\":\"rollout\",\"source\":\"rs-loader\",\"userFacingName\":\"Upgrade Spotlight Rollout\",\"userFacingDescription\":\"Experimenting on onboarding content when you upgrade Firefox.\",\"lastSeen\":\"2024-04-09T08:41:11.293Z\",\"featureIds\":[\"upgradeDialog\"],\"prefs\":[],\"isRollout\":true}";
|
||||||
|
# "nimbus.syncdefaultsstore.upgradeDialog.enabled" = false;
|
||||||
|
# "pdfjs.enabledCache.state" = true;
|
||||||
|
# "pdfjs.migrationVersion" = 2;
|
||||||
|
# "pref.privacy.disable_button.view_passwords" = false;
|
||||||
|
# "privacy.purge_trackers.date_in_cookie_database" = "0";
|
||||||
|
# "privacy.sanitize.pending" = "[{\"id\":\"newtab-container\",\"itemsToClear\":[],\"options\":{}}]";
|
||||||
|
# "security.sandbox.content.tempDirSuffix" = "83e3690e-e3e1-4bf5-b085-737b3a2792c9";
|
||||||
|
# "services.settings.clock_skew_seconds" = 0;
|
||||||
|
# "services.sync.username" = secrets.email.gmail-online.mail;
|
||||||
|
# "signon.autofillForms" = false;
|
||||||
|
# "signon.rememberSignons" = false;
|
||||||
|
# "storage.vacuum.last.index" = 2;
|
||||||
|
# "toolkit.telemetry.cachedClientID" = "d2c7964b-01ee-49bf-94a9-329bd47d7606";
|
||||||
|
# "toolkit.telemetry.pioneer-new-studies-available" = true;
|
||||||
|
# "toolkit.telemetry.previousBuildID" = "20240509170740";
|
||||||
|
# "toolkit.telemetry.reportingpolicy.firstRun" = false;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
|||||||
@@ -51,10 +51,12 @@ lib.mkIf (user != "tv")
|
|||||||
nf = "neofetch";
|
nf = "neofetch";
|
||||||
nxf = "nxfetch";
|
nxf = "nxfetch";
|
||||||
nn = "nano";
|
nn = "nano";
|
||||||
m = "micro";
|
hxx = "hx .";
|
||||||
p = "python";
|
p = "python";
|
||||||
ipy = "ipython";
|
ipy = "ipython";
|
||||||
c = "codium";
|
c = "codium";
|
||||||
|
cc = "codium .";
|
||||||
|
code = "codium";
|
||||||
g = "git";
|
g = "git";
|
||||||
lzg = "lazygit";
|
lzg = "lazygit";
|
||||||
# gst = "git status";
|
# gst = "git status";
|
||||||
@@ -81,7 +83,6 @@ lib.mkIf (user != "tv")
|
|||||||
dcmp = "docker compose";
|
dcmp = "docker compose";
|
||||||
nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
|
nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
|
||||||
|
|
||||||
code = "codium";
|
|
||||||
# ya = "yazi"; # function
|
# ya = "yazi"; # function
|
||||||
# nxfiglet = "figlet";
|
# nxfiglet = "figlet";
|
||||||
};
|
};
|
||||||
|
|||||||
270
home-modules/foot.nix
Normal file
270
home-modules/foot.nix
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
{ config, pkgs, rice, lib, user, ... }:
|
||||||
|
lib.mkIf (user != "tv")
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
foot
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.foot = {
|
||||||
|
enable = true;
|
||||||
|
# background = rice.color.background;
|
||||||
|
# foreground = rice.color.foreground;
|
||||||
|
# cursor = rice.color.foreground;
|
||||||
|
# color0 = rice.color.black.base;
|
||||||
|
# color8 = rice.color.black.bright;
|
||||||
|
# color1 = rice.color.red.base;
|
||||||
|
# color9 = rice.color.red.bright;
|
||||||
|
# color2 = rice.color.green.base;
|
||||||
|
# color10 = rice.color.green.bright;
|
||||||
|
# color3 = rice.color.yellow.base;
|
||||||
|
# color11 = rice.color.yellow.bright;
|
||||||
|
# color4 = rice.color.blue.base;
|
||||||
|
# color12 = rice.color.blue.bright;
|
||||||
|
# color5 = rice.color.magenta.base;
|
||||||
|
# color13 = rice.color.magenta.bright;
|
||||||
|
# color6 = rice.color.cyan.base;
|
||||||
|
# color14 = rice.color.cyan.bright;
|
||||||
|
# color7 = rice.color.white.base;
|
||||||
|
# color15 = rice.color.white.bright;
|
||||||
|
# background_opacity = builtins.toString rice.transparency;
|
||||||
|
# window_padding_width = 5;
|
||||||
|
# remember_window_size = false;
|
||||||
|
|
||||||
|
# settings = {
|
||||||
|
# main = {
|
||||||
|
# shell = ''$SHELL (if set, otherwise user's default shell from /etc/passwd)'';
|
||||||
|
# term = ''foot (or xterm-256color if built with -Dterminfo=disabled)'';
|
||||||
|
# login-shell = ''no'';
|
||||||
|
|
||||||
|
# # app-id = ''foot'';
|
||||||
|
# title = ''foot'';
|
||||||
|
# locked-title = ''no'';
|
||||||
|
|
||||||
|
# font = ''${rice.font.code.name}:size=8'';
|
||||||
|
# font-size-adjustment = ''0.5'';
|
||||||
|
# line-height = "<font metrics>";
|
||||||
|
# letter-spacing = ''0'';
|
||||||
|
# horizontal-letter-offset = ''0'';
|
||||||
|
# vertical-letter-offset = ''0'';
|
||||||
|
# underline-offset = "<font metrics>";
|
||||||
|
# underline-thickness = "<font underline thickness>";
|
||||||
|
# # box-drawings-uses-font-glyphs = "no";
|
||||||
|
# # dpi-aware = ''no'';
|
||||||
|
|
||||||
|
# # initial-window-size-pixels = ''700x500'';
|
||||||
|
# # initial-window-size-chars = "<COLSxROWS>";
|
||||||
|
# # initial-window-mode = ''windowed'';
|
||||||
|
# pad = ''5x5'';
|
||||||
|
# resize-by-cells = ''yes'';
|
||||||
|
# resize-keep-grid = ''yes'';
|
||||||
|
# resize-delay-ms = ''100'';
|
||||||
|
|
||||||
|
# # bold-text-in-bright = false;
|
||||||
|
# word-delimiters = '',│`|:"'()[]{}<>'';
|
||||||
|
# selection-target = ''primary'';
|
||||||
|
# workers = "<number of logical CPUs>";
|
||||||
|
# utmp-helper = ''/usr/lib/utempter/utempter'';
|
||||||
|
# # environment = {
|
||||||
|
# # name = ''value'';
|
||||||
|
# # };
|
||||||
|
|
||||||
|
# };
|
||||||
|
# bell = {
|
||||||
|
# urgent = ''no'';
|
||||||
|
# notify = ''no'';
|
||||||
|
# visual = ''no'';
|
||||||
|
# command = '''';
|
||||||
|
# command-focused = ''no'';
|
||||||
|
# };
|
||||||
|
# desktop-notifications = {
|
||||||
|
# command = ''notify-send --wait --app-name ''${app-id} --icon ''${app-id} --category ''${category} --urgency ''${urgency} --expire-time ''${expire-time} --hint STRING:image-path:''${icon} --hint BOOLEAN:suppress-sound:''${muted} --hint STRING:sound-name:''${sound-name} --replace-id ''${replace-id} ''${action-argument} --print-id -- ''${title} ''${body}'';
|
||||||
|
# command-action-argument = ''--action ''${action-name}=''${action-label}'';
|
||||||
|
# close = ''""'';
|
||||||
|
# inhibit-when-focused = ''yes'';
|
||||||
|
|
||||||
|
# };
|
||||||
|
# scrollback = {
|
||||||
|
# lines = ''1000'';
|
||||||
|
# multiplier = ''3.0'';
|
||||||
|
# indicator-position = ''relative'';
|
||||||
|
# indicator-format = ''""'';
|
||||||
|
# };
|
||||||
|
# url = {
|
||||||
|
# launch = ''xdg-open ''${url}'';
|
||||||
|
# label-letters = ''sadfjklewcmpgh'';
|
||||||
|
# osc8-underline = ''url-mode'';
|
||||||
|
# protocols = ''http, https, ftp, ftps, file, gemini, gopher'';
|
||||||
|
# uri-characters = ''abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]'';
|
||||||
|
# };
|
||||||
|
# cursor = {
|
||||||
|
# style = ''block'';
|
||||||
|
# color = "<inverse foreground/background>";
|
||||||
|
# blink = ''no'';
|
||||||
|
# blink-rate = ''500'';
|
||||||
|
# beam-thickness = ''1.5'';
|
||||||
|
# underline-thickness = "<font underline thickness>";
|
||||||
|
# };
|
||||||
|
# mouse = {
|
||||||
|
# hide-when-typing = ''no'';
|
||||||
|
# alternate-scroll-mode = ''yes'';
|
||||||
|
# };
|
||||||
|
# touch = {
|
||||||
|
# long-press-delay = ''400'';
|
||||||
|
# };
|
||||||
|
# colors = {
|
||||||
|
# alpha = ''1.0'';
|
||||||
|
# background = ''242424'';
|
||||||
|
# foreground = ''ffffff'';
|
||||||
|
# flash = ''7f7f00'';
|
||||||
|
# flash-alpha = ''0.5'';
|
||||||
|
|
||||||
|
# # Normal/regular colors (color palette 0-7)
|
||||||
|
# regular0 = ''242424'';
|
||||||
|
# regular1 = ''f62b5a'';
|
||||||
|
# regular2 = ''47b413'';
|
||||||
|
# regular3 = ''e3c401'';
|
||||||
|
# regular4 = ''24acd4'';
|
||||||
|
# regular5 = ''f2affd'';
|
||||||
|
# regular6 = ''13c299'';
|
||||||
|
# regular7 = ''e6e6e6'';
|
||||||
|
|
||||||
|
# # Bright colors (color palette 8-15)
|
||||||
|
# bright0 = ''616161'';
|
||||||
|
# bright1 = ''ff4d51'';
|
||||||
|
# bright2 = ''35d450'';
|
||||||
|
# bright3 = ''e9e836'';
|
||||||
|
# bright4 = ''5dc5f8'';
|
||||||
|
# bright5 = ''feabf2'';
|
||||||
|
# bright6 = ''24dfc4'';
|
||||||
|
# bright7 = ''ffffff'';
|
||||||
|
|
||||||
|
# # dimmed colors (see foot.ini(5) man page)
|
||||||
|
# # dim0 = "<not set>";
|
||||||
|
# # ...
|
||||||
|
# # dim7 = "<not-set>";
|
||||||
|
|
||||||
|
# # The remaining 256-color palette
|
||||||
|
# # 16 = <256-color palette #16>
|
||||||
|
# # ...
|
||||||
|
# # 255 = <256-color palette #255>
|
||||||
|
|
||||||
|
# # Misc colors
|
||||||
|
# selection-foreground = "<inverse foreground/background>";
|
||||||
|
# selection-background = "<inverse foreground/background>";
|
||||||
|
# jump-labels = "<regular0> <regular3>";
|
||||||
|
# scrollback-indicator = "<regular0> <bright4>";
|
||||||
|
# search-box-no-match = "<regular0> <regular1>";
|
||||||
|
# search-box-match = "<regular0> <regular3>";
|
||||||
|
# urls = "<regular3>";
|
||||||
|
# };
|
||||||
|
# csd = {
|
||||||
|
# preferred = ''server'';
|
||||||
|
# size = ''26'';
|
||||||
|
# font = "<primary font>";
|
||||||
|
# color = "<foreground color>";
|
||||||
|
# hide-when-maximized = ''no'';
|
||||||
|
# double-click-to-maximize = ''yes'';
|
||||||
|
# border-width = ''0'';
|
||||||
|
# border-color = "<csd.color>";
|
||||||
|
# button-width = ''26'';
|
||||||
|
# button-color = "<background color>";
|
||||||
|
# button-minimize-color = "<regular4>";
|
||||||
|
# button-maximize-color = "<regular2>";
|
||||||
|
# button-close-color = "<regular1>";
|
||||||
|
# };
|
||||||
|
# key-bindings = {
|
||||||
|
# scrollback-up-page = ''Shift+Page_Up'';
|
||||||
|
# scrollback-up-half-page = ''none'';
|
||||||
|
# scrollback-up-line = ''none'';
|
||||||
|
# scrollback-down-page = ''Shift+Page_Down'';
|
||||||
|
# scrollback-down-half-page = ''none'';
|
||||||
|
# scrollback-down-line = ''none'';
|
||||||
|
# scrollback-home = ''none'';
|
||||||
|
# scrollback-end = ''none'';
|
||||||
|
# clipboard-copy = ''Control+Shift+c XF86Copy'';
|
||||||
|
# clipboard-paste = ''Control+Shift+v XF86Paste'';
|
||||||
|
# primary-paste = ''Shift+Insert'';
|
||||||
|
# search-start = ''Control+Shift+r'';
|
||||||
|
# font-increase = ''Control+plus Control+equal Control+KP_Add'';
|
||||||
|
# font-decrease = ''Control+minus Control+KP_Subtract'';
|
||||||
|
# font-reset = ''Control+0 Control+KP_0'';
|
||||||
|
# spawn-terminal = ''Control+Shift+n'';
|
||||||
|
# minimize = ''none'';
|
||||||
|
# maximize = ''none'';
|
||||||
|
# fullscreen = ''none'';
|
||||||
|
# pipe-visible = ''[sh -c "xurls | fuzzel | xargs -r firefox"] none'';
|
||||||
|
# pipe-scrollback = ''[sh -c "xurls | fuzzel | xargs -r firefox"] none'';
|
||||||
|
# pipe-selected = ''[xargs -r firefox] none'';
|
||||||
|
# pipe-command-output = ''[wl-copy] none'';
|
||||||
|
# show-urls-launch = ''Control+Shift+o'';
|
||||||
|
# show-urls-copy = ''none'';
|
||||||
|
# show-urls-persistent = ''none'';
|
||||||
|
# prompt-prev = ''Control+Shift+z'';
|
||||||
|
# prompt-next = ''Control+Shift+x'';
|
||||||
|
# unicode-input = ''Control+Shift+u'';
|
||||||
|
# noop = ''none'';
|
||||||
|
# };
|
||||||
|
# search-bindings = {
|
||||||
|
# cancel = ''Control+g Control+c Escape'';
|
||||||
|
# commit = ''Return'';
|
||||||
|
# find-prev = ''Control+r'';
|
||||||
|
# find-next = ''Control+s'';
|
||||||
|
# cursor-left = ''Left Control+b'';
|
||||||
|
# cursor-left-word = ''Control+Left Mod1+b'';
|
||||||
|
# cursor-right = ''Right Control+f'';
|
||||||
|
# cursor-right-word = ''Control+Right Mod1+f'';
|
||||||
|
# cursor-home = ''Home Control+a'';
|
||||||
|
# cursor-end = ''End Control+e'';
|
||||||
|
# delete-prev = ''BackSpace'';
|
||||||
|
# delete-prev-word = ''Mod1+BackSpace Control+BackSpace'';
|
||||||
|
# delete-next = ''Delete'';
|
||||||
|
# delete-next-word = ''Mod1+d Control+Delete'';
|
||||||
|
# extend-char = ''Shift+Right'';
|
||||||
|
# extend-to-word-boundary = ''Control+w Control+Shift+Right'';
|
||||||
|
# extend-to-next-whitespace = ''Control+Shift+w'';
|
||||||
|
# extend-line-down = ''Shift+Down'';
|
||||||
|
# extend-backward-char = ''Shift+Left'';
|
||||||
|
# extend-backward-to-word-boundary = ''Control+Shift+Left'';
|
||||||
|
# extend-backward-to-next-whitespace = ''none'';
|
||||||
|
# extend-line-up = ''Shift+Up'';
|
||||||
|
# clipboard-paste = ''Control+v Control+Shift+v Control+y XF86Paste'';
|
||||||
|
# primary-paste = ''Shift+Insert'';
|
||||||
|
# unicode-input = ''none'';
|
||||||
|
# quit = ''none'';
|
||||||
|
# scrollback-up-page = ''Shift+Page_Up'';
|
||||||
|
# scrollback-up-half-page = ''none'';
|
||||||
|
# scrollback-up-line = ''none'';
|
||||||
|
# scrollback-down-page = ''Shift+Page_Down'';
|
||||||
|
# scrollback-down-half-page = ''none'';
|
||||||
|
# scrollback-down-line = ''none'';
|
||||||
|
# scrollback-home = ''none'';
|
||||||
|
# scrollback-end = ''none'';
|
||||||
|
# };
|
||||||
|
# url-bindings = {
|
||||||
|
# cancel = ''Control+g Control+c Control+d Escape'';
|
||||||
|
# toggle-url-visible = ''t'';
|
||||||
|
# };
|
||||||
|
# text-bindings = {
|
||||||
|
# "\x03" = ''Mod4+c'';
|
||||||
|
# };
|
||||||
|
# mouse-bindings = {
|
||||||
|
# scrollback-up-mouse = ''BTN_WHEEL_BACK'';
|
||||||
|
# scrollback-down-mouse = ''BTN_WHEEL_FORWARD'';
|
||||||
|
# font-increase = ''Control+BTN_WHEEL_BACK'';
|
||||||
|
# font-decrease = ''Control+BTN_WHEEL_FORWARD'';
|
||||||
|
# selection-override-modifiers = ''Shift'';
|
||||||
|
# primary-paste = ''BTN_MIDDLE'';
|
||||||
|
# select-begin = ''BTN_LEFT'';
|
||||||
|
# select-begin-block = ''Control+BTN_LEFT'';
|
||||||
|
# select-extend = ''BTN_RIGHT'';
|
||||||
|
# select-extend-character-wise = ''Control+BTN_RIGHT'';
|
||||||
|
# select-word = ''BTN_LEFT-2'';
|
||||||
|
# select-word-whitespace = ''Control+BTN_LEFT-2'';
|
||||||
|
# select-quote = ''BTN_LEFT-3'';
|
||||||
|
# select-row = ''BTN_LEFT-4'';
|
||||||
|
|
||||||
|
# # vim: ft = ''dosini'';
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,9 +2,12 @@
|
|||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
nixfmt # nix formater
|
nixfmt-classic # nix formater
|
||||||
nil # nix language server
|
nil # nix language server
|
||||||
python311Packages.python-lsp-server
|
python311Packages.python-lsp-server
|
||||||
|
ruff
|
||||||
|
ruff-lsp
|
||||||
|
pyright
|
||||||
lldb # debugger for llvm stuff
|
lldb # debugger for llvm stuff
|
||||||
yaml-language-server # yaml
|
yaml-language-server # yaml
|
||||||
marksman # markdown
|
marksman # markdown
|
||||||
@@ -57,7 +60,14 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
keys.normal = {
|
keys.normal = {
|
||||||
C-g = [":new" ":insert-output lazygit" ":buffer-close!" ":redraw"];
|
"C-g" = [":new" ":insert-output lazygit" ":buffer-close!" ":redraw"];
|
||||||
|
"A-`" = [ "no_op" ];
|
||||||
|
"`" = [ "no_op" ];
|
||||||
|
};
|
||||||
|
keys.normal."ö" = {
|
||||||
|
"s" = [ "switch_case" ];
|
||||||
|
"u" = [ "switch_to_uppercase" ];
|
||||||
|
"l" = [ "switch_to_lowercase" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
languages = {
|
languages = {
|
||||||
@@ -73,19 +83,66 @@
|
|||||||
file-types = [ "md" "MD" ];
|
file-types = [ "md" "MD" ];
|
||||||
scope = "text.<name>";
|
scope = "text.<name>";
|
||||||
}
|
}
|
||||||
# {
|
|
||||||
# name = "python";
|
{
|
||||||
# transport = "stdio";
|
name = "python";
|
||||||
# command = "python3";
|
language-servers = [ "pyright" "ruff" ];
|
||||||
# args = ["-m" "debugpy.adapter"];
|
formatter = {
|
||||||
# }
|
command = "ruff";
|
||||||
|
args = [
|
||||||
|
"format"
|
||||||
|
"--line-length"
|
||||||
|
"120"
|
||||||
|
"-"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
debugger = {
|
||||||
|
name = "debugpy";
|
||||||
|
transport = "stdio";
|
||||||
|
command = "python";
|
||||||
|
args = [ "-m" "debugpy.adapter" ];
|
||||||
|
templates = [{
|
||||||
|
name = "source";
|
||||||
|
request = "launch";
|
||||||
|
completion = [{
|
||||||
|
name = "entrypoint";
|
||||||
|
completion = "filename";
|
||||||
|
default = ".";
|
||||||
|
}];
|
||||||
|
args = {
|
||||||
|
mode = "debug";
|
||||||
|
program = "{0}";
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
language-server = {
|
language-server = {
|
||||||
"style-check" = {
|
"style-check" = {
|
||||||
command = lib.getExe pkgs.vale-ls;
|
command = lib.getExe pkgs.vale-ls;
|
||||||
};
|
};
|
||||||
"language-tool" = {
|
"language-tool" = {
|
||||||
command = lib.getExe pkgs.ltex-ls;
|
command = "${pkgs.ltex-ls}/bin/ltex-ls";
|
||||||
|
};
|
||||||
|
"ruff" = {
|
||||||
|
command = "ruff-lsp";
|
||||||
|
config.settings.args = [
|
||||||
|
# Set line length
|
||||||
|
# "--line-length"
|
||||||
|
# "79"
|
||||||
|
|
||||||
|
# Enable some ruff rules
|
||||||
|
# "--select"
|
||||||
|
# (
|
||||||
|
# "F,W,E,I,N,D200,D201,D202,D203,D204,D205,D206,D207,D208,D209,D210,D211,"
|
||||||
|
# + "D212,D213,D214,D215,D300,D301,D400,D401,D402,D403,D404,D405,D406,"
|
||||||
|
# + "D407,D408,D409,D410,D411,D412,D413,D414,D415,D416,D417,D418,D419,"
|
||||||
|
# + "UP,YTT,TRIO,ASYNC,B,A,COM,C4,DTZ,T10,DJ,EXE,FA,ISC,ICN001,G010,"
|
||||||
|
# + "G101,G201,G202,INP,PIE,Q,RSE,RET,SLOT,SIM,TCH,INT,ARG,PTH,TD001,"
|
||||||
|
# + "TD004,TD005,TD006,TD007,PD,PL,TRY004,TRY200,TRY201,TRY302,TRY400,"
|
||||||
|
# + "TRY401,FLY,NPY,AIR,PERF,FURB,LOG,RUF"
|
||||||
|
# )
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{pkgs-unstable, lib, user, ... }:
|
{ pkgs, lib, user, ... }:
|
||||||
lib.mkIf (user != "tv")
|
lib.mkIf (user != "tv")
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs-unstable.hyprland-autoname-workspaces
|
pkgs.hyprland-autoname-workspaces
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file.".config/hyprland-autoname-workspaces/config.toml".text = ''
|
home.file.".config/hyprland-autoname-workspaces/config.toml".text = ''
|
||||||
@@ -55,6 +55,7 @@ lib.mkIf (user != "tv")
|
|||||||
blueman-manager = ""
|
blueman-manager = ""
|
||||||
Alacritty = ""
|
Alacritty = ""
|
||||||
zoom = ""
|
zoom = ""
|
||||||
|
spotify = ""
|
||||||
|
|
||||||
[class_active]
|
[class_active]
|
||||||
"(?i)ExampleOneTerm" = "icon"
|
"(?i)ExampleOneTerm" = "icon"
|
||||||
@@ -75,6 +76,9 @@ lib.mkIf (user != "tv")
|
|||||||
|
|
||||||
[initial_title_in_class]
|
[initial_title_in_class]
|
||||||
|
|
||||||
|
[initial_title]
|
||||||
|
"Spotify Premium" = ""
|
||||||
|
|
||||||
[initial_title_in_class_active]
|
[initial_title_in_class_active]
|
||||||
|
|
||||||
[initial_title_in_initial_class]
|
[initial_title_in_initial_class]
|
||||||
@@ -101,5 +105,5 @@ lib.mkIf (user != "tv")
|
|||||||
client_dup = "{icon}{counter_sup}"
|
client_dup = "{icon}{counter_sup}"
|
||||||
client_dup_active = "*{icon}*{delim}{icon}{counter_unfocused_sup}"
|
client_dup_active = "*{icon}*{delim}{icon}{counter_unfocused_sup}"
|
||||||
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}"
|
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -243,17 +243,15 @@ lib.mkIf (user != "tv")
|
|||||||
};
|
};
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprpm reload -n "
|
"waybar"
|
||||||
"waybar "
|
|
||||||
"hyprpaper -n "
|
|
||||||
"swww-daemon"
|
"swww-daemon"
|
||||||
"= /home/nx2/scripts/swww-randomize.sh"
|
|
||||||
"hyprland-autoname-workspaces"
|
"hyprland-autoname-workspaces"
|
||||||
"/usr/lib/polkit-kde-authentication-agent-1 "
|
"/usr/lib/polkit-kde-authentication-agent-1 "
|
||||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||||
"syncthing -no-browser"
|
"syncthing -no-browser"
|
||||||
"mako"
|
"mako"
|
||||||
"ibus engine xkb:de::deu"
|
"fcitx5"
|
||||||
|
# "ibus engine xkb:de::deu"
|
||||||
"libinput-gestures"
|
"libinput-gestures"
|
||||||
# "hyprswitch --daemon"
|
# "hyprswitch --daemon"
|
||||||
];
|
];
|
||||||
@@ -335,7 +333,7 @@ lib.mkIf (user != "tv")
|
|||||||
"SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate"
|
"SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate"
|
||||||
# "SUPER, F6,"
|
# "SUPER, F6,"
|
||||||
''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120''
|
''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120''
|
||||||
# "SUPER, F9, hyprload,reload"
|
"SUPER, F9, exec, change_colors_json $(swww query | sed -n 1p | sed -e 's-.*image: --g') && nh home switch"
|
||||||
# "SUPER, F10, hyprload,update"
|
# "SUPER, F10, hyprload,update"
|
||||||
"SUPER, F11, exec, waybar"
|
"SUPER, F11, exec, waybar"
|
||||||
"SUPER SHIFT, F11, exec, pkill waybar "
|
"SUPER SHIFT, F11, exec, pkill waybar "
|
||||||
@@ -459,8 +457,8 @@ lib.mkIf (user != "tv")
|
|||||||
## MEGA KEYS:
|
## MEGA KEYS:
|
||||||
|
|
||||||
'' , Print, exec, grim -g "$(slurp)"''
|
'' , Print, exec, grim -g "$(slurp)"''
|
||||||
"SUPER, Next, resizeactive, 100 -100"
|
# "SUPER, Next, resizeactive, 5% 5%" # binde
|
||||||
"SUPER, Prior, resizeactive, -100 100"
|
# "SUPER, Prior, resizeactive, -5% -5%" # binde
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
## FN KEYS:
|
## FN KEYS:
|
||||||
@@ -492,6 +490,8 @@ lib.mkIf (user != "tv")
|
|||||||
];
|
];
|
||||||
binde = [
|
binde = [
|
||||||
# "SUPER, TAB, exec, hyprswitch --daemon --do-initial-execute"
|
# "SUPER, TAB, exec, hyprswitch --daemon --do-initial-execute"
|
||||||
|
"SUPER, Next, resizeactive, 10% 10%"
|
||||||
|
"SUPER, Prior, resizeactive, -10% -10%"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
37
home-modules/ollama.nix
Normal file
37
home-modules/ollama.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
(writers.writePython3Bin "ooo" {
|
||||||
|
libraries = [ pkgs.python3Packages.ollama ];
|
||||||
|
flakeIgnore = [ "E501" "E305" "E701" "E704" "E302" "E114" "F841" "E121" ];
|
||||||
|
} /* python */ ''
|
||||||
|
import sys
|
||||||
|
import ollama
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print("Usage: ./ooo.py <system_message>")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
system_message = sys.argv[1]
|
||||||
|
input_text = sys.stdin.read()
|
||||||
|
try:
|
||||||
|
response = ollama.chat(model='llama3.1:8b', messages=[
|
||||||
|
{
|
||||||
|
'role': 'system',
|
||||||
|
'content': "You are a text transformer. Follow the folling instruction:\n\n" + system_message + "\n\nOnly output the transformed text. Do not add any addidional conversation around the output. Just the result.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'role': 'user',
|
||||||
|
'content': input_text,
|
||||||
|
},
|
||||||
|
])
|
||||||
|
|
||||||
|
print(response['message']['content'])
|
||||||
|
sys.exit(0)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"An error occurred: {e}", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, system, user, host, allowed, secrets, ... }:
|
{ pkgs, lib, host, secrets, ... }:
|
||||||
lib.mkIf (host != "NxACE")
|
lib.mkIf (host != "NxACE")
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
|||||||
@@ -2,25 +2,15 @@
|
|||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# libclang
|
glibc_multi
|
||||||
glibc
|
glib
|
||||||
gcc
|
gcc
|
||||||
# gnustep.stdenv
|
# pkgsi686Linux.glibc
|
||||||
# pkg-config
|
|
||||||
# gnumake
|
|
||||||
# ninja
|
|
||||||
# cmake
|
|
||||||
# meson
|
|
||||||
# bashInteractive
|
|
||||||
|
|
||||||
# lld
|
|
||||||
clang-tools
|
clang-tools
|
||||||
# clang
|
|
||||||
# cppcheck
|
|
||||||
];
|
];
|
||||||
sessionVariables = with pkgs; {
|
sessionVariables = with pkgs; {
|
||||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib:${pkgs.glibc.dev}/include";
|
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib:${pkgs.glibc.dev}/include:${glibc_multi.dev}/include";
|
||||||
C_INCLUDE_PATH = "${llvmPackages.libclang.lib}/lib:${pkgs.glibc.dev}/include";
|
C_INCLUDE_PATH = "${llvmPackages.libclang.lib}/lib:${pkgs.glibc.dev}/include:${glibc_multi.dev}/include";
|
||||||
CLANG_RESOURCE_DIR = "${llvmPackages.clang-unwrapped}";
|
CLANG_RESOURCE_DIR = "${llvmPackages.clang-unwrapped}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, rice, lib, user, ... }:
|
{ pkgs, rice, lib, user, ... }:
|
||||||
let
|
let
|
||||||
trdr = "${rice.lib.float-to-drune rice.transparency}";
|
trdr = "${rice.lib.float-to-drune rice.transparency}";
|
||||||
in
|
in
|
||||||
@@ -29,7 +29,7 @@ lib.mkIf (user != "tv")
|
|||||||
background-color: ${rice.color.background}${trdr};
|
background-color: ${rice.color.background}${trdr};
|
||||||
border: ${builtins.toString rice.border-width}px;
|
border: ${builtins.toString rice.border-width}px;
|
||||||
border-radius: ${builtins.toString rice.rounding};
|
border-radius: ${builtins.toString rice.rounding};
|
||||||
border-color: ${rice.color.blue.base};
|
border-color: ${rice.color.border};
|
||||||
}
|
}
|
||||||
#mainbox {
|
#mainbox {
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -53,12 +53,13 @@ lib.mkIf (user != "tv")
|
|||||||
|
|
||||||
#element {
|
#element {
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 0px ;
|
padding: 0px;
|
||||||
|
border-radius: ${if rice.rounding > 0 then "2" else "0"}px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#element.normal.normal { background-color: ${rice.color.background}${trdr}; text-color: ${rice.color.foreground}; }
|
#element.normal.normal { background-color: ${rice.color.background}${trdr}; text-color: ${rice.color.accent.base}; }
|
||||||
#element.selected.normal { background-color: ${rice.color.blue.base}${trdr}; text-color: ${rice.color.background}; }
|
#element.selected.normal { background-color: ${rice.color.tertiary.base}${trdr}; text-color: ${rice.color.background}; }
|
||||||
#element.alternate.normal { background-color: ${rice.color.black.base}${trdr}; text-color: ${rice.color.foreground}; }
|
#element.alternate.normal { background-color: ${rice.color.background}${trdr}; text-color: ${rice.color.secondary.base}; }
|
||||||
|
|
||||||
|
|
||||||
#scrollbar {
|
#scrollbar {
|
||||||
@@ -76,8 +77,9 @@ lib.mkIf (user != "tv")
|
|||||||
#inputbar {
|
#inputbar {
|
||||||
spacing: 0;
|
spacing: 0;
|
||||||
text-color: ${rice.color.background};
|
text-color: ${rice.color.background};
|
||||||
background-color: ${rice.color.red.base}${trdr};
|
background-color: ${rice.color.accent.base}${trdr};
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
margine-bottom: 2px;
|
||||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
}
|
}
|
||||||
#prompt {
|
#prompt {
|
||||||
|
|||||||
152
home-modules/wallpaper-to-colors.nix
Normal file
152
home-modules/wallpaper-to-colors.nix
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
{ pkgs-unstable, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs-unstable; [
|
||||||
|
(writers.writePython3Bin "change_colors_json" {
|
||||||
|
libraries = with python3Packages; [ numpy pillow scikit-learn ];
|
||||||
|
flakeIgnore = [ "E302" "E305" "E226" "E501" ];
|
||||||
|
} /*python */ ''
|
||||||
|
from colorsys import hls_to_rgb, rgb_to_hls
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
from typing import Literal, cast
|
||||||
|
from numpy.typing import NDArray
|
||||||
|
from sklearn.cluster import KMeans
|
||||||
|
import numpy as np
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
def fc(c: int) -> str:
|
||||||
|
assert c < 256
|
||||||
|
s = str(hex(c))[2:]
|
||||||
|
if c < 16:
|
||||||
|
return "0" + s
|
||||||
|
elif len(s) == 1:
|
||||||
|
return s + s
|
||||||
|
else:
|
||||||
|
return s
|
||||||
|
|
||||||
|
class Color(object):
|
||||||
|
def __init__(self, rgb: tuple[int, ...], frequency: float):
|
||||||
|
assert len(rgb) == 3, "RGB values must be a tuple of length 3"
|
||||||
|
self.rgb = cast(tuple[int, int, int], rgb)
|
||||||
|
self.freq: float = frequency
|
||||||
|
|
||||||
|
def __lt__(self, other: "Color") -> bool:
|
||||||
|
return self.freq < other.freq
|
||||||
|
|
||||||
|
@property
|
||||||
|
def hls(self) -> tuple[float, float, float]:
|
||||||
|
return rgb_to_hls(r=self.rgb[0] / 255, g=self.rgb[1] / 255, b=self.rgb[2] / 255)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def luminance(self) -> float:
|
||||||
|
return np.dot(np.array([0.2126, 0.7152, 0.0722]), self.rgb)
|
||||||
|
|
||||||
|
def k_means_extraction(arr: NDArray[float], height: int, width: int, palette_size: int) -> list[Color]:
|
||||||
|
arr = np.reshape(arr, (width * height, -1))
|
||||||
|
model = KMeans(n_clusters=palette_size, n_init="auto", init="k-means++", random_state=2024)
|
||||||
|
labels = model.fit_predict(arr)
|
||||||
|
palette = np.array(model.cluster_centers_, dtype=int)
|
||||||
|
color_count = np.bincount(labels)
|
||||||
|
color_frequency = color_count / float(np.sum(color_count))
|
||||||
|
colors = []
|
||||||
|
for color, freq in zip(palette, color_frequency):
|
||||||
|
colors.append(Color(color, freq))
|
||||||
|
return colors
|
||||||
|
|
||||||
|
|
||||||
|
class Palette:
|
||||||
|
def __init__(self, colors: list[Color]):
|
||||||
|
self.colors = colors
|
||||||
|
self.frequencies = [c.freq for c in colors]
|
||||||
|
|
||||||
|
def __getitem__(self, item: int) -> Color:
|
||||||
|
return self.colors[item]
|
||||||
|
|
||||||
|
def __len__(self) -> int:
|
||||||
|
return self.number_of_colors
|
||||||
|
|
||||||
|
def ensure_color(c: Color, alter_sat: bool) -> list[int]:
|
||||||
|
hue, lum, sat = c.hls
|
||||||
|
if alter_sat:
|
||||||
|
new_sat = min(sat**0.5, 1)
|
||||||
|
else:
|
||||||
|
new_sat = sat
|
||||||
|
new_lum = max(lum, 0.5)
|
||||||
|
r, g, b = hls_to_rgb(h=hue, l=new_lum, s=new_sat)
|
||||||
|
return [int(r*255), int(g*255), int(b*255)]
|
||||||
|
|
||||||
|
def list_to_hex(ilist: list[int]) -> str:
|
||||||
|
return f"#{fc(ilist[0])}{fc(ilist[1])}{fc(ilist[2])}"
|
||||||
|
|
||||||
|
def alter_hue(ilist: list[int], hue: int) -> list[int]:
|
||||||
|
assert hue >= 0 and hue <= 360
|
||||||
|
r, g, b = ilist
|
||||||
|
h, l, s = rgb_to_hls((r/255), (g/255), (b/255))
|
||||||
|
new_hue = (((h*360) + hue) % 360) / 360
|
||||||
|
r, g, b = hls_to_rgb(h=new_hue, l=l, s=s)
|
||||||
|
return [int(r*255), int(g*255), int(b*255)]
|
||||||
|
|
||||||
|
def alter_l(ilist: list[int], l_in_1_0: float) -> list[int]:
|
||||||
|
assert l_in_1_0 >= 0 and l_in_1_0 <= 1
|
||||||
|
r, g, b = ilist
|
||||||
|
h, _, s = rgb_to_hls((r/255), (g/255), (b/255))
|
||||||
|
r, g, b = hls_to_rgb(h=h, l=l_in_1_0, s=s)
|
||||||
|
return [int(r*255), int(g*255), int(b*255)]
|
||||||
|
|
||||||
|
def extract_colors(
|
||||||
|
image: str,
|
||||||
|
palette_size: int = 5,
|
||||||
|
resize: bool = True,
|
||||||
|
sort_mode: Literal["luminance", "frequency"] | None = None,
|
||||||
|
) -> Palette:
|
||||||
|
|
||||||
|
img = Image.open(image).convert("RGB")
|
||||||
|
|
||||||
|
# open the image
|
||||||
|
img = img.resize((256, 256))
|
||||||
|
width, height = img.size
|
||||||
|
arr = np.asarray(img)
|
||||||
|
|
||||||
|
colors = k_means_extraction(arr, height, width, palette_size)
|
||||||
|
|
||||||
|
if sort_mode == "luminance":
|
||||||
|
colors.sort(key=lambda c: c.luminance, reverse=False)
|
||||||
|
else:
|
||||||
|
colors.sort(reverse=True)
|
||||||
|
|
||||||
|
return Palette(colors)
|
||||||
|
if __name__ == "__main__":
|
||||||
|
try:
|
||||||
|
img = sys.argv[1]
|
||||||
|
except IndexError:
|
||||||
|
img = "/home/nx2/Pictures/wallpapers/absolute-cinema-acid.png"
|
||||||
|
|
||||||
|
palette = extract_colors(image=img, palette_size=3)
|
||||||
|
|
||||||
|
accent = ensure_color(c=palette[0], alter_sat=False)
|
||||||
|
secondary = ensure_color(c=palette[1], alter_sat=True)
|
||||||
|
tertiary = ensure_color(c=palette[2], alter_sat=False)
|
||||||
|
weird = alter_hue(ilist=secondary, hue=180)
|
||||||
|
special = alter_hue(ilist=accent, hue=180)
|
||||||
|
foreground = alter_l(accent, 0.9)
|
||||||
|
background = alter_l(accent, 0.1)
|
||||||
|
|
||||||
|
d = {
|
||||||
|
"base": {
|
||||||
|
"foreground": list_to_hex(foreground),
|
||||||
|
"background": list_to_hex(background)
|
||||||
|
},
|
||||||
|
"to_alter": {
|
||||||
|
"accent": list_to_hex(accent),
|
||||||
|
"secondary": list_to_hex(secondary),
|
||||||
|
"tertiary": list_to_hex(tertiary),
|
||||||
|
"special": list_to_hex(special),
|
||||||
|
"weird": list_to_hex(weird)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
with open("/home/nx2/nix-dots/flake-modules/colors.json", "w") as f:
|
||||||
|
f.write(json.dumps(d, indent=4))
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -43,7 +43,7 @@ lib.mkIf (user != "tv")
|
|||||||
image = [
|
image = [
|
||||||
{ run = ''imv "$@"''; desc = "imv";}
|
{ run = ''imv "$@"''; desc = "imv";}
|
||||||
{ run = ''gimp "$@"''; desc = "gimp";}
|
{ run = ''gimp "$@"''; desc = "gimp";}
|
||||||
{ run = ''swww img "$@"''; desc = "swww wallpaper";}
|
{ run = ''swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 "$@"''; desc = "swww wallpaper";}
|
||||||
];
|
];
|
||||||
font = [
|
font = [
|
||||||
{ run = ''fontpreview "$@"''; desc = "fontpreview"; }
|
{ run = ''fontpreview "$@"''; desc = "fontpreview"; }
|
||||||
|
|||||||
122
home.nix
122
home.nix
@@ -1,76 +1,58 @@
|
|||||||
{ config, pkgs, pkgs-unstable, lib, system, nvidia, host, user, rice, allowed, secrets, ... }:
|
{ pkgs, pkgs-unstable, lib, host, user, inputs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./home-modules/auto-mount.nix
|
||||||
./home-modules/vscode.nix
|
|
||||||
./home-modules/nvidia.nix
|
|
||||||
# ./home-modules/firefox.nix
|
|
||||||
./home-modules/discord.nix
|
|
||||||
./home-modules/matrix.nix
|
|
||||||
./home-modules/chatterino.nix
|
|
||||||
./home-modules/email.nix
|
|
||||||
./home-modules/bitwarden.nix
|
|
||||||
./home-modules/virt-manager.nix
|
|
||||||
./home-modules/office.nix
|
|
||||||
./home-modules/obs.nix
|
|
||||||
./home-modules/sent.nix
|
|
||||||
|
|
||||||
./home-modules/gestures.nix
|
|
||||||
|
|
||||||
./home-modules/pnx.nix
|
|
||||||
|
|
||||||
./home-modules/hyprland.nix
|
|
||||||
./home-modules/hyprland-autoname-workspaces.nix
|
|
||||||
./home-modules/waybar.nix
|
|
||||||
./home-modules/nx-gcal-event.nix
|
|
||||||
./home-modules/wlogout.nix
|
|
||||||
./home-modules/rofi.nix
|
|
||||||
|
|
||||||
./home-modules/games.nix
|
|
||||||
|
|
||||||
./home-modules/kitty.nix
|
|
||||||
./home-modules/fish.nix
|
|
||||||
./home-modules/bash.nix
|
./home-modules/bash.nix
|
||||||
./home-modules/starship.nix
|
./home-modules/bitwarden.nix
|
||||||
# ./home-modules/nvim.nix
|
./home-modules/chatterino.nix
|
||||||
./home-modules/helix.nix
|
|
||||||
./home-modules/vale.nix
|
|
||||||
|
|
||||||
./home-modules/yazi.nix
|
|
||||||
./home-modules/zoxide.nix
|
|
||||||
./home-modules/nh.nix
|
|
||||||
|
|
||||||
./home-modules/ssh.nix
|
|
||||||
./home-modules/gpg.nix
|
|
||||||
./home-modules/sops.nix
|
|
||||||
./home-modules/git.nix
|
|
||||||
./home-modules/mako.nix
|
|
||||||
|
|
||||||
./home-modules/gtk.nix
|
|
||||||
./home-modules/qt.nix
|
|
||||||
|
|
||||||
./home-modules/latex.nix
|
|
||||||
./home-modules/pandoc.nix
|
|
||||||
|
|
||||||
./home-modules/programming/python.nix
|
|
||||||
./home-modules/programming/c.nix
|
|
||||||
./home-modules/programming/node.nix
|
|
||||||
./home-modules/programming/gleam.nix
|
|
||||||
|
|
||||||
./home-modules/color-pallete.nix
|
./home-modules/color-pallete.nix
|
||||||
];
|
./home-modules/direnv.nix
|
||||||
|
./home-modules/discord.nix
|
||||||
|
./home-modules/email.nix
|
||||||
|
./home-modules/firefox.nix
|
||||||
|
./home-modules/fish.nix
|
||||||
|
# ./home-modules/foot.nix
|
||||||
|
./home-modules/games.nix
|
||||||
|
./home-modules/gestures.nix
|
||||||
|
./home-modules/git.nix
|
||||||
|
./home-modules/gpg.nix
|
||||||
|
./home-modules/gtk.nix
|
||||||
|
./home-modules/helix.nix
|
||||||
|
./home-modules/hyprland-autoname-workspaces.nix
|
||||||
|
./home-modules/hyprland.nix
|
||||||
|
./home-modules/kitty.nix
|
||||||
|
./home-modules/latex.nix
|
||||||
|
./home-modules/mako.nix
|
||||||
|
# ./home-modules/matrix.nix
|
||||||
|
./home-modules/nh.nix
|
||||||
|
./home-modules/nvidia.nix
|
||||||
|
./home-modules/nx-gcal-event.nix
|
||||||
|
./home-modules/obs.nix
|
||||||
|
./home-modules/office.nix
|
||||||
|
./home-modules/ollama.nix
|
||||||
|
./home-modules/pandoc.nix
|
||||||
|
./home-modules/pnx.nix
|
||||||
|
./home-modules/programming/c.nix
|
||||||
|
./home-modules/programming/gleam.nix
|
||||||
|
./home-modules/programming/node.nix
|
||||||
|
./home-modules/programming/python.nix
|
||||||
|
./home-modules/qt.nix
|
||||||
|
./home-modules/rofi.nix
|
||||||
|
./home-modules/sent.nix
|
||||||
|
./home-modules/sops.nix
|
||||||
|
./home-modules/ssh.nix
|
||||||
|
./home-modules/starship.nix
|
||||||
|
./home-modules/vale.nix
|
||||||
|
./home-modules/virt-manager.nix
|
||||||
|
./home-modules/vscode.nix
|
||||||
|
./home-modules/wallpaper-to-colors.nix
|
||||||
|
./home-modules/waybar.nix
|
||||||
|
./home-modules/wlogout.nix
|
||||||
|
./home-modules/yazi.nix
|
||||||
|
./home-modules/zoxide.nix ];
|
||||||
home.username = user;
|
home.username = user;
|
||||||
home.homeDirectory = "/home/${user}";
|
home.homeDirectory = "/home/${user}";
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
# allowUnfreePredicate = (pkg: true);
|
|
||||||
# allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) allowed.unfree-packages;
|
|
||||||
permittedInsecurePackages = allowed.inecure-packages;
|
|
||||||
# cudaSupport = nvidia.enable;
|
|
||||||
# enableParallelBuildingByDefault = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
chromium
|
chromium
|
||||||
|
|
||||||
@@ -91,6 +73,7 @@
|
|||||||
piper-tts
|
piper-tts
|
||||||
sssnake pipes
|
sssnake pipes
|
||||||
dig
|
dig
|
||||||
|
screen
|
||||||
|
|
||||||
gnumake
|
gnumake
|
||||||
cmake
|
cmake
|
||||||
@@ -102,15 +85,18 @@
|
|||||||
wl-clipboard
|
wl-clipboard
|
||||||
xclip
|
xclip
|
||||||
xournal
|
xournal
|
||||||
|
|
||||||
|
inputs.zen-browser.packages."${system}".default
|
||||||
|
|
||||||
] ++ (with pkgs-unstable; [
|
] ++ (with pkgs-unstable; [
|
||||||
|
obsidian
|
||||||
firefox
|
firefox
|
||||||
]) ++ (if host != "NxACE" then (with pkgs; [
|
]) ++ (if host != "NxACE" then (with pkgs; [
|
||||||
signal-desktop
|
signal-desktop
|
||||||
obsidian
|
|
||||||
zoom-us
|
zoom-us
|
||||||
gimp
|
gimp
|
||||||
inkscape
|
inkscape
|
||||||
]) else (with pkgs; [
|
]) else (with pkgs-unstable; [
|
||||||
|
|
||||||
]));
|
]));
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, ... }:
|
lib:
|
||||||
let
|
let
|
||||||
# takes in "ff0044" (no hash!) and returns { r = "ff", g = "00", b = "44" }
|
# takes in "ff0044" (no hash!) and returns { r = "ff", g = "00", b = "44" }
|
||||||
slice-hex = hex: with builtins; { r = substring 0 2 hex; g = substring 2 2 hex; b = substring 4 2 hex; };
|
slice-hex = hex: with builtins; { r = substring 0 2 hex; g = substring 2 2 hex; b = substring 4 2 hex; };
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
BIN
splash.png
Normal file
BIN
splash.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
4
system-modules/auto-mount.nix
Normal file
4
system-modules/auto-mount.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, host, inputs, ... }:
|
{ config, pkgs, pkgs-unstable, lib, host, inputs, ... }:
|
||||||
let
|
let
|
||||||
grub-theme-ascii-diana = (pkgs.fetchFromGitea {
|
grub-theme-ascii-diana = (pkgs.fetchFromGitea {
|
||||||
domain = "git.nx2.site";
|
domain = "git.nx2.site";
|
||||||
@@ -76,7 +76,7 @@ in
|
|||||||
# '';
|
# '';
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
# kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs-unstable.linuxPackages_zen;
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||||
kernelModules = [ "v4l2loopback" ];
|
kernelModules = [ "v4l2loopback" ];
|
||||||
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1'';
|
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1'';
|
||||||
@@ -105,6 +105,7 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
kernelPackages = pkgs-unstable.linuxPackages_6_10;
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||||
kernelModules = [ "v4l2loopback" ];
|
kernelModules = [ "v4l2loopback" ];
|
||||||
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
|
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, user, allowed, secrets, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|||||||
28
system-modules/fcitx5.nix
Normal file
28
system-modules/fcitx5.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{ pkgs-unstable, ... }:
|
||||||
|
{
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enabled = "fcitx5";
|
||||||
|
# type = "fcitx5"; # for later than 24.05
|
||||||
|
# enable = true;
|
||||||
|
fcitx5 = {
|
||||||
|
waylandFrontend = true;
|
||||||
|
addons = with pkgs-unstable; [
|
||||||
|
rime-data
|
||||||
|
fcitx5-rime
|
||||||
|
fcitx5-gtk
|
||||||
|
fcitx5-chinese-addons
|
||||||
|
fcitx5-catppuccin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.xserver.desktopManager.runXdgAutostartIfNone = true;
|
||||||
|
environment.variables = {
|
||||||
|
GLFW_IM_MODULE = "fcitx";
|
||||||
|
GTK_IM_MODULE = "fcitx";
|
||||||
|
INPUT_METHOD = "fcitx";
|
||||||
|
XMODIFIERS = "@im=fcitx";
|
||||||
|
IMSETTINGS_MODULE = "fcitx";
|
||||||
|
QT_IM_MODULE = "fcitx";
|
||||||
|
SDL_IM_MODULE = "fcitx";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -4,12 +4,9 @@
|
|||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = if host == "NxNORTH" then with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
ntfs3g
|
ntfs3g
|
||||||
btrfs-progs
|
];
|
||||||
] else if host == "NxXPS" then with pkgs; [
|
|
||||||
ntfs3g
|
|
||||||
] else [];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
# boot.initrd.kernelModules = [ ];
|
# boot.initrd.kernelModules = [ ];
|
||||||
@@ -19,7 +16,7 @@
|
|||||||
fileSystems = if host != "NxACE" then {
|
fileSystems = if host != "NxACE" then {
|
||||||
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
|
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
|
||||||
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
|
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
|
||||||
"/home/${user}/shared" = { device = "/dev/disk/by-label/shared"; fsType = if host == "NxXPS" then "ntfs" else "btrfs"; };
|
"/home/${user}/shared" = { device = "/dev/disk/by-label/shared"; fsType = "ntfs"; options = [ "uid:1000" "gid:100" ]; };
|
||||||
} else {
|
} else {
|
||||||
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
|
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
|
||||||
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
|
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, lib, host, secrets, ... }:
|
{ pkgs, lib, host, secrets, ... }:
|
||||||
lib.mkIf (host != "NxACE")
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
strongswanNM
|
strongswanNM
|
||||||
@@ -38,19 +37,19 @@ lib.mkIf (host != "NxACE")
|
|||||||
};
|
};
|
||||||
connections = {
|
connections = {
|
||||||
hsmw = {
|
hsmw = {
|
||||||
keyexchange = "ikev2";
|
keyexchange = "ikev2";
|
||||||
left = "%defaultroute";
|
left = "%defaultroute";
|
||||||
leftid = "%any";
|
leftid = "%any";
|
||||||
leftauth = "eap";
|
leftauth = "eap";
|
||||||
eap_identity = "${secrets.email.hsmw.un}@hs-mittweida.de";
|
eap_identity = "${secrets.email.hsmw.un}@hs-mittweida.de";
|
||||||
leftsourceip = "%config";
|
leftsourceip = "%config";
|
||||||
leftdns = "%config4";
|
leftdns = "%config4"; # Ensure that DNS resolution works as expected
|
||||||
leftfirewall = "no";
|
leftfirewall = "no"; # Keep firewall disabled, but manually check rules
|
||||||
right = "141.55.128.84";
|
right = "141.55.128.84";
|
||||||
rightid = "@vpn4.hs-mittweida.de";
|
rightid = "@vpn4.hs-mittweida.de";
|
||||||
rightsubnet = "0.0.0.0/0";
|
rightsubnet = "141.55.128.0/16"; # Split tunneling: Only route traffic for the VPN subnet
|
||||||
rightauth = "pubkey";
|
rightauth = "pubkey";
|
||||||
auto = "add";
|
auto = "add";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
managePlugins = true;
|
managePlugins = true;
|
||||||
|
|||||||
16
system-modules/kanata.nix
Normal file
16
system-modules/kanata.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.kanata = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.kanata;
|
||||||
|
keyboards.default.config = ''
|
||||||
|
(defsrc
|
||||||
|
caps
|
||||||
|
)
|
||||||
|
(deflayer default
|
||||||
|
esc
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -3,6 +3,10 @@
|
|||||||
let
|
let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
networking.nameservers = [
|
||||||
|
"1.1.1.1"
|
||||||
|
"8.8.8.8"
|
||||||
|
];
|
||||||
|
|
||||||
networking.hostName = host;
|
networking.hostName = host;
|
||||||
|
|
||||||
@@ -10,5 +14,5 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.enableIPv6 = true;
|
networking.enableIPv6 = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,69 +1,67 @@
|
|||||||
{ config, pkgs, pkgs-unstable, lib, nvidia, ... }:
|
{ config, pkgs, lib, nvidia, ... }:
|
||||||
|
lib.mkIf nvidia.enable
|
||||||
{
|
{
|
||||||
config = lib.mkIf nvidia.enable {
|
environment.systemPackages = with pkgs; [
|
||||||
environment.systemPackages = with pkgs; [
|
lshw
|
||||||
lshw
|
glxinfo
|
||||||
glxinfo
|
(pkgs.writeShellScriptBin "nvidia-offload" ''
|
||||||
(pkgs.writeShellScriptBin "nvidia-offload" ''
|
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
|
||||||
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
|
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
export __VK_LAYER_NV_optimus=NVIDIA_only
|
||||||
export __VK_LAYER_NV_optimus=NVIDIA_only
|
exec "$@"
|
||||||
exec "$@"
|
'')
|
||||||
'')
|
# ] ++ [
|
||||||
] ++ [
|
# pkgs-unstable.nvtopPackages.intel
|
||||||
# pkgs-unstable.nvtopPackages.intel
|
# pkgs-unstable.nvtopPackages.nvidia
|
||||||
# pkgs-unstable.nvtopPackages.nvidia
|
];
|
||||||
];
|
|
||||||
|
|
||||||
# Load nvidia driver for Xorg and Wayland
|
# Load nvidia driver for Xorg and Wayland
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
nvidia = {
|
nvidia = {
|
||||||
prime = lib.mkIf nvidia.prime {
|
prime = lib.mkIf nvidia.prime {
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
offload = {
|
offload = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableOffloadCmd = true;
|
enableOffloadCmd = true;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Modesetting is required.
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
|
||||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
|
||||||
# of just the bare essentials.
|
|
||||||
powerManagement.enable = true;
|
|
||||||
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = true;
|
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
|
||||||
open = false;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
};
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
};
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Modesetting is required.
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
|
powerManagement.finegrained = nvidia.prime;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
# accessible via `nvidia-settings`.
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta; };
|
||||||
|
opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
{ config, pkgs, lib, user, host, ... }:
|
{ config, pkgs, lib, user, host, ... }:
|
||||||
|
# lib.mkIf false
|
||||||
lib.mkIf (host == "NxACE")
|
lib.mkIf (host == "NxACE")
|
||||||
|
# ((import ./nx2site/proxy.nix { inherit config pkgs lib user; }) //
|
||||||
|
(
|
||||||
{
|
{
|
||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
"nx2site/namecheap.pw" = { };
|
"nx2site/namecheap.pw" = { };
|
||||||
@@ -14,18 +17,15 @@ lib.mkIf (host == "NxACE")
|
|||||||
Unit = "namecheap-dynamic-dns.service";
|
Unit = "namecheap-dynamic-dns.service";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services."namecheap-dynamic-dns" =
|
services."namecheap-dynamic-dns" = let
|
||||||
let
|
|
||||||
u = let
|
u = let
|
||||||
domain = "nx2.site";
|
domain = "nx2.site";
|
||||||
passord-file-path = config.sops.secrets."nx2site/namecheap.pw".path;
|
passord-file-path = config.sops.secrets."nx2site/namecheap.pw".path;
|
||||||
|
# passord-file-path = config.sops.secrets."nx2site/namecheap.pw".path;
|
||||||
log-file-path = "/var/log/update_namecheap.log";
|
log-file-path = "/var/log/update_namecheap.log";
|
||||||
count-file-path = "/var/log/update_namecheap-count.txt";
|
count-file-path = "/var/log/update_namecheap-count.txt";
|
||||||
in
|
in pkgs.writers.writePython3Bin "update_namecheap" {
|
||||||
pkgs.writers.writePython3Bin "update_namecheap" {
|
libraries = with pkgs.python311Packages; [ requests ];
|
||||||
libraries = with pkgs.python311Packages; [
|
|
||||||
requests
|
|
||||||
];
|
|
||||||
flakeIgnore = [ "E501" "E305" "E701" "E704" "E302" "E114" "F841" ];
|
flakeIgnore = [ "E501" "E305" "E701" "E704" "E302" "E114" "F841" ];
|
||||||
} ''
|
} ''
|
||||||
import requests
|
import requests
|
||||||
@@ -74,16 +74,48 @@ lib.mkIf (host == "NxACE")
|
|||||||
|
|
||||||
main(args.force)
|
main(args.force)
|
||||||
'';
|
'';
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
script = ''
|
script = ''
|
||||||
set -eu
|
set -eu
|
||||||
${u}/bin/update_namecheap
|
${u}/bin/update_namecheap
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
# User = "nx2";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
# I can't use this becasue API Access for Namecheap needs a static whitelisted IP, which I don't have
|
||||||
|
# security.acme = {
|
||||||
|
# acceptTerms = true;
|
||||||
|
# certs."nx2site" = { };
|
||||||
|
# };
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
certbot
|
||||||
|
(writeShellApplication {
|
||||||
|
name = "refresh_ssl_certificate";
|
||||||
|
runtimeInputs = [ certbot ];
|
||||||
|
# https://forum.endeavouros.com/t/tutorial-add-a-systemd-boot-loader-menu-entry-for-a-windows-installation-using-a-separate-esp-partition/37431
|
||||||
|
text = let
|
||||||
|
webroot = /home/nx2/nx2site/staticweb/content;
|
||||||
|
in /*bash*/ ''
|
||||||
|
cartbot
|
||||||
|
ls ${webroot}
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
networking.hosts = { # docker network inspect nx2site_default | grep -E "Name|IPv4" | tr "\n" " " | sed -r 's- +- -g;s-\n?"Name": -\n-g' | sed -r '1d;2d;s-"(.+?)", "IPv4Address": "(.+)/16",- "\2" = [ "\1.docker" ];-g'
|
||||||
|
"172.1.2.1" = [ "staticweb.docker" ];
|
||||||
|
"172.1.3.1" = [ "matrix.docker" ];
|
||||||
|
# "172.1.0.9" = [ "matrixdb.docker" ];
|
||||||
|
"172.1.4.1" = [ "matrix-ss.docker" ];
|
||||||
|
# "172.1.0.7" = [ "matrix-ssdb.docker" ];
|
||||||
|
"172.1.5.1" = [ "pw.docker" ];
|
||||||
|
"172.1.6.1" = [ "git.docker" ];
|
||||||
|
# "172.1.0.10" = [ "gitdb.docker" ];
|
||||||
|
"172.1.7.1" = [ "nn.docker" ];
|
||||||
|
"172.1.8.1" = [ "llm.docker" ];
|
||||||
|
# "172.1.9.1" = [ "proxy.docker" ];
|
||||||
|
"172.1.10.1" = [ "share.docker" ];
|
||||||
|
"172.1.11.1" = [ "odq.docker" ];
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|||||||
180
system-modules/nx2site/proxy.nix
Normal file
180
system-modules/nx2site/proxy.nix
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
{ config, pkgs, lib, user }:
|
||||||
|
lib.mkIf false
|
||||||
|
{
|
||||||
|
sops.secrets = {
|
||||||
|
"nx2site/sslCertificate.pem" = { owner = config.services.nginx.user; };
|
||||||
|
"nx2site/sslCertificateKey.pem" = { owner = config.services.nginx.user; };
|
||||||
|
"nx2site/dhparams.pem" = { owner = config.services.nginx.user; };
|
||||||
|
};
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
additionalModules = [];
|
||||||
|
# appendConfig = '''';
|
||||||
|
clientMaxBodySize = "20m";
|
||||||
|
|
||||||
|
defaultHTTPListenPort = 80;
|
||||||
|
defaultListenAddresses = [ "0.0.0.0" ] ++ lib.optional config.networking.enableIPv6 "[::0]";
|
||||||
|
defaultListen = [ {
|
||||||
|
addr = "0.0.0.0";
|
||||||
|
ssl = true;
|
||||||
|
port = 443;
|
||||||
|
proxyProtocol = true;
|
||||||
|
}];
|
||||||
|
defaultMimeTypes = "${pkgs.mailcap}/etc/nginx/mime.types";
|
||||||
|
defaultSSLListenPort = 443;
|
||||||
|
enableQuicBPF = true;
|
||||||
|
enableReload = true;
|
||||||
|
# eventsConfig = '''';
|
||||||
|
# logError = ;
|
||||||
|
# mapHashBucketSize = ;
|
||||||
|
# mapHashMaxSize = ;
|
||||||
|
package = pkgs.nginxQuic;
|
||||||
|
# preStart = true;
|
||||||
|
proxyResolveWhileRunning = false;
|
||||||
|
proxyTimeout = "20s";
|
||||||
|
recommendedBrotliSettings = true;
|
||||||
|
recommendedGzipSettings = true;
|
||||||
|
recommendedOptimisation = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
recommendedTlsSettings = true;
|
||||||
|
recommendedZstdSettings = true;
|
||||||
|
serverTokens = false;
|
||||||
|
# sslCiphers = true;
|
||||||
|
sslDhparam = config.sops.secrets."nx2site/dhparams.pem".path;
|
||||||
|
sslProtocols = "TLSv1.2 TLSv1.3";
|
||||||
|
statusPage = false;
|
||||||
|
streamConfig = ""; # udp config
|
||||||
|
validateConfigFile = true;
|
||||||
|
upstreams = {
|
||||||
|
"staticweb".servers = { "staticweb.docker:80" = {}; };
|
||||||
|
"matrix".servers = { "matrix.docker:80" = {}; };
|
||||||
|
"matrix-ss".servers = { "matrix-ss.docker:80" = {}; };
|
||||||
|
"pw".servers = { "pw.docker:80" = {}; };
|
||||||
|
"git".servers = { "git.docker:80" = {}; };
|
||||||
|
"nn".servers = { "nn.docker:80" = {}; };
|
||||||
|
"llm".servers = { "llm.docker:80" = {}; };
|
||||||
|
"share".servers = { "share.docker:80" = {}; };
|
||||||
|
|
||||||
|
"sync".servers = { "localhost:8384" = {}; };
|
||||||
|
};
|
||||||
|
virtualHosts = let
|
||||||
|
sslCertificate = config.sops.secrets."nx2site/sslCertificate.pem".path;
|
||||||
|
sslCertificateKey = config.sops.secrets."nx2site/sslCertificateKey.pem".path;
|
||||||
|
kTLS = true; http2 = true; http3 = true; http3_hq = true; quic = true;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
locations = {
|
||||||
|
"/" = {
|
||||||
|
proxyPass = "http://staticweb";
|
||||||
|
# extraConfig = [ ''add_header Alt-Svc 'h3=":443"; ma=86400';'' ''add_header Cache-Control "public";'' ] ++ common-location-conf;
|
||||||
|
};
|
||||||
|
"/.well-known/matrix/client" = {
|
||||||
|
return = ''200 '{"m.homeserver": {"base_url": "https://matrix.nx2.site"}, "org.matrix.msc3575.proxy": {"url": "https://matrix-ss.nx2.site"}}' '';
|
||||||
|
extraConfig = [ "default_type application/json;" "add_header Access-Control-Allow-Origin *;" ];
|
||||||
|
};
|
||||||
|
"/.well-known/matrix/server" = {
|
||||||
|
return = ''200 '{"m.server":"matrix.nx2.site:443"}' '';
|
||||||
|
extraConfig = [ "default_type application/json;" "add_header Access-Control-Allow-Origin *;" ];
|
||||||
|
};
|
||||||
|
"~ ^/(client/|_matrix/client/unstable/org.matrix.msc3575/sync)" = {
|
||||||
|
proxyPass = "http://matrix-ss";
|
||||||
|
# extraConfig = [ ''proxy_set_header X-Forwarded-For $remote_addr;'' ''proxy_set_header X-Forwarded-Proto $scheme;'' ''proxy_set_header Host $host;'' ];
|
||||||
|
};
|
||||||
|
"~ ^(\/_matrix|\/_synapse\/client)" = {
|
||||||
|
return = ''200 '{"m.server":"matrix.nx2.site:443"}' '';
|
||||||
|
# extraConfig = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"matrix.nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
listen = [
|
||||||
|
{ addr = "0.0.0.0"; port = 443; ssl = true; }
|
||||||
|
{ addr = "0.0.0.0"; port = 8448; ssl = true; }
|
||||||
|
];
|
||||||
|
locations = {
|
||||||
|
"/" = {
|
||||||
|
proxyPass = "http://matrix";
|
||||||
|
# extraConfig = [ ''add_header Alt-Svc 'h3=":443"; ma=86400';'' ''add_header Cache-Control "public";'' ] ++ common-location-conf;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"matrix-ss.nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
# "resolver 1.1.1.1;"
|
||||||
|
# "client_max_body_size 500M;"
|
||||||
|
# ];
|
||||||
|
locations = {
|
||||||
|
"/" = { proxyPass = "http://pw"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# "dev.nx2.site" = {
|
||||||
|
# inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
# locations = {
|
||||||
|
# "/" = {
|
||||||
|
# proxyPass = "http://dev";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
"pw.nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
locations = {
|
||||||
|
"/" = { proxyPass = "http://pw"; };
|
||||||
|
"/admin" = { proxyPass = "http://pw"; };
|
||||||
|
"/notifications/hub" = { proxyPass = "http://pw"; };
|
||||||
|
"/notifications/hub/negotiate" = { proxyPass = "http://pw"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"share.nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
locations = {
|
||||||
|
"/" = { proxyPass = "http://share"; # ''proxy_hide_header Content-Disposition;''
|
||||||
|
# ''proxy_set_header Content-Disposition $upstream_http_content_disposition;''
|
||||||
|
# ''proxy_set_header X-Real-IP $remote_addr;''
|
||||||
|
# ''proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;''
|
||||||
|
# ''proxy_set_header Host $http_host;''
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
"/socket.io" = {
|
||||||
|
proxyPass = "http://share/socket.io";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
# extraConfig = [
|
||||||
|
# ''proxy_http_version 1.1;''
|
||||||
|
# ''proxy_set_header Upgrade $http_upgrade;''
|
||||||
|
# ''proxy_set_header Connection "upgrade";''
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"sync.nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
locations = {
|
||||||
|
"/" = { proxyPass = "http://sync"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"git.nx2.site" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
locations = {
|
||||||
|
"/" = { proxyPass = "http://git"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"~^(.*)\.nx2\.site$" = {
|
||||||
|
inherit sslCertificate sslCertificateKey kTLS http2 http3 http3_hq quic;
|
||||||
|
# listen = [ { addr = "0.0.0.0"; port = 443; ssl = true; } ];
|
||||||
|
root = "/home/nx2/nx2site/staticweb/xcontent/";
|
||||||
|
locations = {
|
||||||
|
"~.*" = { return = "502 /502.html"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,47 +1,22 @@
|
|||||||
{ pkgs, pkgs-unstable, lib, host, nvidia, ... }:
|
{ pkgs, pkgs-unstable, pkgs-latest, lib, host, nvidia, ... }:
|
||||||
|
let
|
||||||
{
|
p = pkgs-latest.ollama;
|
||||||
environment.systemPackages = with pkgs-unstable; [
|
# p = pkgs-unstable.ollama.overrideAttrs (oldAttrs: rec {
|
||||||
ollama
|
# inherit (oldAttrs) pname;
|
||||||
];
|
# version = "0.3.0";
|
||||||
|
# src = pkgs.fetchFromGitHub {
|
||||||
# services.ollama.environmentVariables = {
|
# owner = "ollama";
|
||||||
# OLLAMA_ORIGINS = "*";
|
# repo = "ollama";
|
||||||
# };
|
# rev = "v${version}";
|
||||||
|
# hash = "sha256-69CpRAggx6a1NJq+CA9QliXuUbDgC1ERRuA3y17KVAM=";
|
||||||
# systemd.services.ollama = {
|
# fetchSubmodules = true;
|
||||||
# environment.OLLAMA_ORIGINS = "*";
|
|
||||||
# description = "Ollama Service";
|
|
||||||
# after = [ "network-online.target" "ollama-doesnt-respect-xdg-data-home.service" ];
|
|
||||||
# serviceConfig = {
|
|
||||||
# Type = "simple";
|
|
||||||
# # Environment = "\"XDG_DATA_HOME=/run/current-system/sw/share\"";
|
|
||||||
# ExecStart = "${pkgs.ollama}/bin/ollama serve";
|
|
||||||
# User = "ollama";
|
|
||||||
# Group = "ollama";
|
|
||||||
# Restart = "always";
|
|
||||||
# RestartSec = "3";
|
|
||||||
# };
|
# };
|
||||||
# wantedBy = [ "default.target" ];
|
# });
|
||||||
# };
|
in {
|
||||||
|
environment.systemPackages = [ p ];
|
||||||
|
|
||||||
# users.users.ollama = {
|
|
||||||
# isSystemUser = true;
|
|
||||||
# home = "/usr/share/ollama";
|
|
||||||
# shell = "/bin/false";
|
|
||||||
# group = "ollama";
|
|
||||||
# };
|
|
||||||
# users.groups.ollama = {};
|
|
||||||
|
|
||||||
# systemd.services.ollama-doesnt-respect-xdg-data-home = {
|
|
||||||
# wantedBy = ["multi-user.target"];
|
|
||||||
# script = ''
|
|
||||||
# mkdir -p /usr/share/ollama/.ollama
|
|
||||||
# chown ollama:ollama -R /usr/share/ollama
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
services.ollama = {
|
services.ollama = {
|
||||||
# package = pkgs-unstable.ollama;
|
package = p;
|
||||||
enable = true;
|
enable = true;
|
||||||
acceleration = lib.mkIf nvidia.enable "cuda";
|
acceleration = lib.mkIf nvidia.enable "cuda";
|
||||||
listenAddress = if host == "NxACE" then "0.0.0.0:11434" else "127.0.0.1:11434";
|
listenAddress = if host == "NxACE" then "0.0.0.0:11434" else "127.0.0.1:11434";
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
# ];
|
# ];
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
via
|
via
|
||||||
|
qmk
|
||||||
];
|
];
|
||||||
services.udev.packages = [ pkgs.via ];
|
services.udev.packages = [ pkgs.via ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
|||||||
@@ -17,7 +17,12 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
dirs = {
|
dirs = {
|
||||||
default = { name = "sync"; path = "/home/${user}/sync"; };
|
default = { name = "sync"; path = "/home/${user}/sync"; };
|
||||||
|
s21u-dcim = { name = "s21u-dcim"; path = "/vault/Pictures/Lennart"; };
|
||||||
|
diane-dcim = { name = "diane-dcim"; path = "/vault/Pictures/Diane"; };
|
||||||
|
dianesd-dcim = { name = "dianesd-dcim"; path = "/vault/Pictures/Diane-SD"; };
|
||||||
|
daniel-dcim = { name = "daniel-dcim"; path = "/vault/Pictures/Daniel"; };
|
||||||
|
tessa-dcim = { name = "tessa-dcim"; path = "/vault/Pictures/Tessa"; };
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.mkIf (user != "tv")
|
lib.mkIf (user != "tv")
|
||||||
@@ -45,8 +50,7 @@ lib.mkIf (user != "tv")
|
|||||||
) else if (host == "NxNORTH") then (
|
) else if (host == "NxNORTH") then (
|
||||||
xps // ace // s21u
|
xps // ace // s21u
|
||||||
) else (
|
) else (
|
||||||
# north // xps // s21u // diane // daniel // tessa // georg
|
north // xps // s21u // diane // daniel // tessa // georg
|
||||||
north // xps // s21u
|
|
||||||
);
|
);
|
||||||
folders = with dirs; if (host == "NxXPS") then {
|
folders = with dirs; if (host == "NxXPS") then {
|
||||||
"${default.name}" = {
|
"${default.name}" = {
|
||||||
@@ -58,11 +62,31 @@ lib.mkIf (user != "tv")
|
|||||||
path = default.path;
|
path = default.path;
|
||||||
devices = with devices; (justname [ xps ace s21u ]);
|
devices = with devices; (justname [ xps ace s21u ]);
|
||||||
};
|
};
|
||||||
} else {
|
} else { # NxACE
|
||||||
"${default.name}" = {
|
"${default.name}" = {
|
||||||
path = default.path;
|
path = default.path;
|
||||||
devices = with devices; (justname [ xps north s21u ]);
|
devices = with devices; (justname [ xps north s21u ]);
|
||||||
};
|
};
|
||||||
|
"${s21u-dcim.name}" = {
|
||||||
|
path = s21u-dcim.path;
|
||||||
|
devices = with devices; (justname [ s21u ]);
|
||||||
|
};
|
||||||
|
"${diane-dcim.name}" = {
|
||||||
|
path = diane-dcim.path;
|
||||||
|
devices = with devices; (justname [ diane ]);
|
||||||
|
};
|
||||||
|
"${dianesd-dcim.name}" = {
|
||||||
|
path = dianesd-dcim.path;
|
||||||
|
devices = with devices; (justname [ diane ]);
|
||||||
|
};
|
||||||
|
"${daniel-dcim.name}" = {
|
||||||
|
path = daniel-dcim.path;
|
||||||
|
devices = with devices; (justname [ daniel ]);
|
||||||
|
};
|
||||||
|
"${tessa-dcim.name}" = {
|
||||||
|
path = tessa-dcim.path;
|
||||||
|
devices = with devices; (justname [ tessa ]);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gui = {
|
gui = {
|
||||||
theme = "black";
|
theme = "black";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, system, host, user, allowed, secrets, ... }:
|
{ pkgs, lib, host, user, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
users.defaultUserShell = pkgs.bash; # if interactive, itll switch to fish
|
users.defaultUserShell = pkgs.bash; # if interactive, itll switch to fish
|
||||||
@@ -10,13 +10,11 @@
|
|||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key
|
||||||
];
|
];
|
||||||
packages = with pkgs; []; # all in home.nix
|
|
||||||
};
|
};
|
||||||
users.users.tv = lib.mkIf (host == "NxACE") {
|
users.users.tv = lib.mkIf (host == "NxACE") {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "networkmanager" "audio" "video" "uinput" ];
|
extraGroups = [ "networkmanager" "audio" "video" "uinput" ];
|
||||||
useDefaultShell = true;
|
useDefaultShell = true;
|
||||||
packages = with pkgs; []; # all in home.nix
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user