mirror of
https://git.sr.ht/~neverness/ultima
synced 2024-12-27 19:23:52 +00:00
update
This commit is contained in:
parent
cd2562bf0b
commit
75e6963dcf
231
flake.lock
231
flake.lock
|
@ -227,6 +227,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1650374568,
|
||||
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
|
@ -245,6 +261,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"phani",
|
||||
"nix-update",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730504689,
|
||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1629284811,
|
||||
|
@ -281,6 +319,36 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"locked": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -573,6 +641,29 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-update": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"phani",
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731961060,
|
||||
"narHash": "sha256-5KhS3RxeVDHKjsxT3hHtl0hHcwlSHl2fYFYLonobpLg=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-update",
|
||||
"rev": "48d803aa20d0cb91a02f0dcfcccdfe6fbb305b0e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-update",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1731890469,
|
||||
|
@ -677,6 +768,34 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 0,
|
||||
"narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
|
||||
"path": "/nix/store/0sxsfzswhjck7f4sbsvznz285s4i7y64-source",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1659102345,
|
||||
"narHash": "sha256-Vbzlz254EMZvn28BhpN8JOi5EuKqnHZ3ujFYgFcSGvk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "11b60e4f80d87794a2a4a8a256391b37c59a1ea7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1731494868,
|
||||
|
@ -692,26 +811,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nypkgs": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726657437,
|
||||
"narHash": "sha256-eBeVOFceQkYfWHAwdQ+aM8vLAbsuuWUgek2f6dFBTl0=",
|
||||
"owner": "yunfachi",
|
||||
"repo": "nypkgs",
|
||||
"rev": "698ab4159dc38affee2fc5886468af139de8d95e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "yunfachi",
|
||||
"repo": "nypkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
|
@ -730,6 +829,27 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"phani": {
|
||||
"inputs": {
|
||||
"nix-update": "nix-update",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733031174,
|
||||
"narHash": "sha256-JuABhfC13YDmgm6YiRpb4TCIqGpNNWDKvf7EglwDEjw=",
|
||||
"owner": "phanirithvij",
|
||||
"repo": "nur-packages",
|
||||
"rev": "5d916acadc2686fdd450a9bdce7dfc86b83d451c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "phanirithvij",
|
||||
"repo": "nur-packages",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
|
@ -766,14 +886,34 @@
|
|||
"hyprland": "hyprland",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nur": "nur",
|
||||
"nypkgs": "nypkgs",
|
||||
"parts": "parts",
|
||||
"phani": "phani",
|
||||
"spicetify": "spicetify",
|
||||
"stylix": "stylix",
|
||||
"tgt": "tgt",
|
||||
"transg": "transg",
|
||||
"zen": "zen"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1661742009,
|
||||
"narHash": "sha256-lE6pbjo2INiJc0CTooWStINmGcu0LjdbtQ1TTs1lqPY=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "4b3816ebc3cfcaf29e3dd0f0dc2924c5cb639c51",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"spicetify": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
|
@ -925,6 +1065,49 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"transg": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729978562,
|
||||
"narHash": "sha256-EqTc7XNxzp5MPGfLPp1lzzQu2XVkEaC+WGwJrBI2azk=",
|
||||
"owner": "PanAeon",
|
||||
"repo": "transg-tui",
|
||||
"rev": "ec5c53de8b3dbead7171c73bf269b164aef74255",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "PanAeon",
|
||||
"repo": "transg-tui",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"phani",
|
||||
"nix-update",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730321837,
|
||||
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"umu": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -998,11 +1181,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731689537,
|
||||
"narHash": "sha256-0wN39XFD5bVcNANh9uLoQYyKbp9r6xX+oON1qI+L9iI=",
|
||||
"lastModified": 1732835488,
|
||||
"narHash": "sha256-r1nomBVEMO4I0y3pMfqLletQxKak5xfpk9DhlO1AsuI=",
|
||||
"owner": "ch4og",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "064be844324965da1d596a541fdd831efe4a3a32",
|
||||
"rev": "d8fbf602685f5cf2a6475eaf20595a6dc6628891",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
17
flake.nix
17
flake.nix
|
@ -6,6 +6,7 @@
|
|||
hardware.url = "github:NixOS/nixos-hardware/master"; # HARDWARE
|
||||
parts.url = "github:hercules-ci/flake-parts"; # PARTS
|
||||
gaming.url = "github:fufexan/nix-gaming"; # GAMING
|
||||
transg.url = "github:PanAeon/transg-tui"; # TRANSG
|
||||
hyprland.url = "github:hyprwm/Hyprland"; # HYPRLAND
|
||||
stylix.url = "github:danth/stylix"; # STYLIX
|
||||
|
||||
|
@ -13,15 +14,11 @@
|
|||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nypkgs = {
|
||||
url = "github:yunfachi/nypkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
disko = {
|
||||
disko = { # DECLARATIVE DISK PART
|
||||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zen = {
|
||||
zen = { # COOL BROWSER
|
||||
url = "github:ch4og/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
@ -29,7 +26,7 @@
|
|||
url = "github:Gerg-L/spicetify-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
tgt = {
|
||||
tgt = { # TUI TELEGRAM
|
||||
url = "github:FedericoBruzzone/tgt";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
@ -37,7 +34,11 @@
|
|||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
cursors = {
|
||||
phani = { # ONLY FOR QBITUI LOL
|
||||
url = "github:phanirithvij/nur-packages";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
cursors = { # COLORIZE CUSRSOR
|
||||
url = "github:LilleAila/nix-cursors";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ self, inputs, ... }:
|
||||
let
|
||||
builder = import ../libx/builder.nix {
|
||||
inherit self inputs userName hostName flakeDir wm;
|
||||
inherit self inputs userName hostName flakeDir dev;
|
||||
};
|
||||
hostName = "jetpure";
|
||||
userName = "nixzoid";
|
||||
flakeDir = "/persist/flake";
|
||||
wm = {
|
||||
sh = "Hyprland";
|
||||
bar = "hyprland";
|
||||
dev = {
|
||||
hdd = "/mnt/HDD";
|
||||
ssd = "/mnt/SSD";
|
||||
};
|
||||
in { flake = builder.flake; }
|
||||
|
|
|
@ -1,20 +1,17 @@
|
|||
{ config, sec, flakeDir, True, False, ... }: {
|
||||
{ config, True, False, ... }: {
|
||||
imports = [ ./parts ../../modules/home ];
|
||||
module = {
|
||||
programs = { # PROGRAMS
|
||||
cli = { # CLI PROGRAMS
|
||||
anicli = True;
|
||||
bat = True;
|
||||
cava = True;
|
||||
eza = True;
|
||||
fetch = True;
|
||||
fzf = True;
|
||||
git = True // {
|
||||
name = sec.git.name;
|
||||
email = sec.git.email;
|
||||
path = flakeDir;
|
||||
};
|
||||
git = True;
|
||||
helix = True;
|
||||
joshuto = True;
|
||||
legendary = True;
|
||||
micro = False;
|
||||
rmpc = False;
|
||||
top = True;
|
||||
|
@ -31,20 +28,22 @@
|
|||
thunderbird = False;
|
||||
zed = False;
|
||||
};
|
||||
custom = {
|
||||
anicli = True;
|
||||
mabel = False;
|
||||
rustmission = True;
|
||||
torque = True;
|
||||
};
|
||||
};
|
||||
shells = { # SHELLS
|
||||
alias = True;
|
||||
fish = True;
|
||||
nushell = True;
|
||||
tmux = False;
|
||||
zsh = False;
|
||||
starship = True;
|
||||
var = True;
|
||||
};
|
||||
themes = { # THEMING ENV
|
||||
gtk = True // { # GTK APPS
|
||||
icon = "adwaita";
|
||||
};
|
||||
gtk = True // { icon = "adwaita"; }; # GTK APPS
|
||||
qt = True; # QT APPS
|
||||
stylix = True // {
|
||||
theme = "paradise";
|
||||
|
@ -72,11 +71,7 @@
|
|||
};
|
||||
};
|
||||
misc = { # MISC MODULES
|
||||
home-manager = True;
|
||||
markdown = False;
|
||||
minimal = True;
|
||||
dconf = True;
|
||||
nix = True;
|
||||
xdg = True;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,52 +1,53 @@
|
|||
{ pkgs, inputs, config, ... }: {
|
||||
imports = [ inputs.nur.hmModules.nur ];
|
||||
imports = with inputs; [ nur.hmModules.nur ];
|
||||
module.programs = {
|
||||
gui.pkgs = with pkgs; [
|
||||
nemo
|
||||
nemo-fileroller
|
||||
file-roller
|
||||
nemo # GUI FM
|
||||
nemo-fileroller # ADDON
|
||||
file-roller # ARCHIVER
|
||||
|
||||
_64gram
|
||||
onlyoffice-bin
|
||||
qbittorrent-enhanced
|
||||
_64gram # TG GUI
|
||||
onlyoffice-bin # OFFICE
|
||||
qbittorrent-enhanced # QTORRENT
|
||||
filezilla # FTP CLIENT
|
||||
|
||||
popsicle
|
||||
ventoy
|
||||
popsicle # ISO WRITER
|
||||
ventoy # FUCK
|
||||
|
||||
bottles
|
||||
mindustry-wayland
|
||||
bottles # LAUNCH GAMES WITHOUT STEAM
|
||||
mindustry-wayland # MINDUSTRY LETSSS GOOOOO
|
||||
(prismlauncher.override {
|
||||
gamemodeSupport = true;
|
||||
controllerSupport = true;
|
||||
jdks = [ temurin-jre-bin-21 temurin-jre-bin-17 temurin-jre-bin-8 ];
|
||||
})
|
||||
}) # MINECRAFT IS MY LIFE
|
||||
|
||||
inputs.zen.packages."${system}".specific
|
||||
inputs.zen.packages."${system}".specific # COOL BROWSER
|
||||
];
|
||||
cli.pkgs = with pkgs; [
|
||||
nurl
|
||||
nix-tree
|
||||
nurl # FETCHER
|
||||
nix-tree # JUST COOL
|
||||
|
||||
simple-mtpfs
|
||||
btop # CPU RAM AND PROCESSES TOP
|
||||
nvtopPackages.amd # GPU TOP
|
||||
|
||||
btop
|
||||
nvtopPackages.amd
|
||||
trashy # TRASH
|
||||
tenki # CLOCK
|
||||
|
||||
trashy
|
||||
tenki
|
||||
imagemagick # CONVERT IMG
|
||||
jpegoptim # LOW SIZE JPEG
|
||||
optipng # LOW SIZE PNG
|
||||
lutgen # COLORIZE IMG
|
||||
|
||||
imagemagick
|
||||
jpegoptim
|
||||
optipng
|
||||
lutgen
|
||||
wyvern # GOG
|
||||
tuir # REDDIT TUI
|
||||
glicol-cli # WRITE MUSIC FROM TERMINAL
|
||||
|
||||
wyvern
|
||||
legendary-gl
|
||||
eidolon
|
||||
|
||||
wineWow64Packages.staging
|
||||
config.nur.repos.rycee.mozilla-addons-to-nix
|
||||
inputs.tgt.packages.${system}.default
|
||||
wineWow64Packages.staging # SIMPLE LAUNCHER
|
||||
config.nur.repos.rycee.mozilla-addons-to-nix # ADDONS TO NIX
|
||||
inputs.tgt.packages.${system}.default # TG TUI
|
||||
inputs.transg.packages.${system}.default # TRANSMISSION TUI
|
||||
inputs.phani.packages.${system}.qbittorrentui # QBITUI
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{ pkgs, config, False, ... }:
|
||||
{ config, False, ... }:
|
||||
let
|
||||
m = config.wayland.windowManager.sway.config.modifier;
|
||||
x = "exec";
|
||||
in {
|
||||
module.wm.sway = {
|
||||
bars = False;
|
||||
programs = with pkgs; {
|
||||
"${m}+b" = "${x} ${floorp}/bin/floorp";
|
||||
"${m}+v" = "${x} ${_64gram}/bin/telegram-desktop";
|
||||
"${m}+n" = "${x} ${kitty}/bin/kitty -T Explorer ${yazi}/bin/yazi";
|
||||
"${m}+u" = "${x} ${onlyoffice-bin}/bin/onlyoffice-desktopeditors";
|
||||
"${m}+i" = "${x} ${libreoffice}/lib/libreoffice/program/soffice.bin";
|
||||
programs = {
|
||||
"${m}+b" = "${x} floorp";
|
||||
"${m}+v" = "${x} telegram-desktop";
|
||||
"${m}+n" = "${x} kitty -T Explorer yazi";
|
||||
"${m}+u" = "${x} onlyoffice-desktopeditors";
|
||||
"${m}+i" = "${x} libreoffice";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
16
jetpure/home/parts/test.glicol
Normal file
16
jetpure/home/parts/test.glicol
Normal file
|
@ -0,0 +1,16 @@
|
|||
~gate: speed 2.0
|
||||
>> seq 60 _60 _~a 48;
|
||||
~a: choose 48 48 48 72 0 0 0
|
||||
~amp: ~gate >> envperc 0.001 0.1;
|
||||
~pit: ~gate
|
||||
>> mul ##Math.pow(2, (60-69)/12) * 440#
|
||||
// mix js to get 261.63
|
||||
~lead: saw ~pit >> mul ~amp >> lpf ~mod 5.0
|
||||
>> meta `
|
||||
output = input.map(|x|x*0.1);
|
||||
output
|
||||
` // rhai script, same as "mul 0.1"
|
||||
~mod: sin 0.2 >> mul 1300 >> add 1500;
|
||||
out: ~lead >> add ~drum >> plate 0.1 // optional semicolon
|
||||
~drum: speed 4.0 >> seq 60 >> sp \808bd;
|
||||
// live drag and drop your sample ^^^
|
|
@ -15,12 +15,14 @@
|
|||
services = {
|
||||
autocpu = False;
|
||||
dbus = True;
|
||||
deluge = False;
|
||||
getty = True;
|
||||
gvfs = True;
|
||||
polkit = True;
|
||||
printing = False;
|
||||
tailscale = True;
|
||||
tlp = False;
|
||||
transmission = True;
|
||||
zram = True // { algo = "zstd"; };
|
||||
};
|
||||
# PROGRAMS MODULES
|
||||
|
@ -29,6 +31,7 @@
|
|||
hyprland = True;
|
||||
sway = False;
|
||||
steam = True;
|
||||
hamachi = True;
|
||||
torrserver = True;
|
||||
};
|
||||
misc = {
|
||||
|
@ -38,9 +41,9 @@
|
|||
power = False;
|
||||
protonmail = False;
|
||||
system76 = False;
|
||||
terraria = False;
|
||||
users = True // { shell = "fish"; };
|
||||
variables = True;
|
||||
zapret = False;
|
||||
nix = True;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ self, inputs, hostName, userName, flakeDir, wm, ... }: {
|
||||
{ self, inputs, hostName, userName, flakeDir, dev, ... }: {
|
||||
flake = let
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
sec = import ./secrets.nix;
|
||||
|
@ -12,7 +12,7 @@
|
|||
# SYSINFO
|
||||
stateVersion = "24.05"; # IDK
|
||||
platform = "x86_64-linux";
|
||||
inherit self inputs hostName userName flakeDir sec wm;
|
||||
inherit self inputs hostName userName flakeDir sec dev;
|
||||
};
|
||||
in with inputs; {
|
||||
nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem {
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
{
|
||||
imports = [ ./home-manager ./markdown ./minimal ./xdg ./dconf.nix ./nix.nix ];
|
||||
}
|
||||
{ imports = [ ./home-manager ./minimal ./xdg ./dconf.nix ./nix.nix ]; }
|
||||
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{ lib, config, userName, stateVersion ? null, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.misc.home-manager;
|
||||
in {
|
||||
options = { module.misc.home-manager = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.home-manager = True;
|
||||
home = {
|
||||
username = userName;
|
||||
homeDirectory = "/home/${userName}";
|
||||
stateVersion = stateVersion;
|
||||
};
|
||||
{ userName, stateVersion ? null, True, ... }: {
|
||||
programs.home-manager = True;
|
||||
home = {
|
||||
username = userName;
|
||||
homeDirectory = "/home/${userName}";
|
||||
stateVersion = stateVersion;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,166 +0,0 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.misc.markdown;
|
||||
in {
|
||||
options = { module.misc.markdown = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# VIEWERS
|
||||
glow
|
||||
# PRESENTATION
|
||||
slides # VERY SIMPLE
|
||||
presenterm # WITH IMAGES AND OTHER STUFF
|
||||
# TOOLS
|
||||
graph-easy # CREATE GRAPHS
|
||||
];
|
||||
};
|
||||
xdg.configFile."mdtheme.json".text = with config.lib.stylix.colors; ''
|
||||
{
|
||||
"document": { "color": "#${base06}", "margin": 2 },
|
||||
"block_quote": { "indent": 1, "indent_token": " │ " },
|
||||
"list": { "level_indent": 2, "margin": 4 },
|
||||
"paragraph": {
|
||||
"color": "#${base06}",
|
||||
"background_color": "#${base00}",
|
||||
"margin": 2
|
||||
},
|
||||
"heading": {
|
||||
"block_suffix": "\n",
|
||||
"color": "#${base0E}",
|
||||
"bold": true
|
||||
},
|
||||
"h1": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#${base00}",
|
||||
"background_color": "#${base08}",
|
||||
"bold": true
|
||||
},
|
||||
"h2": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#${base00}",
|
||||
"background_color": "#${base09}",
|
||||
"bold": true,
|
||||
"margin": 2
|
||||
},
|
||||
"h3": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#${base00}",
|
||||
"background_color": "#${base0B}",
|
||||
"bold": true,
|
||||
"margin": 2
|
||||
},
|
||||
"h4": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#${base00}",
|
||||
"background_color": "#${base0C}",
|
||||
"bold": true,
|
||||
"margin": 2
|
||||
},
|
||||
"h5": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#${base00}",
|
||||
"background_color": "#${base0D}",
|
||||
"bold": true,
|
||||
"margin": 2
|
||||
},
|
||||
"h6": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#${base00}",
|
||||
"background_color": "#${base0E}",
|
||||
"bold": true,
|
||||
"margin": 2
|
||||
},
|
||||
"text": {},
|
||||
"strikethrough": { "crossed_out": true },
|
||||
"emph": { "italic": true },
|
||||
"strong": { "bold": true },
|
||||
"hr": {
|
||||
"color": "#${base0D}",
|
||||
"format": "---"
|
||||
},
|
||||
"item": {
|
||||
"block_prefix": "• "
|
||||
},
|
||||
"enumeration": {
|
||||
"block_prefix": ". "
|
||||
},
|
||||
"task": {
|
||||
"ticked": "[✓] ",
|
||||
"unticked": "[✗] "
|
||||
},
|
||||
"link": {
|
||||
"color": "30",
|
||||
"underline": true
|
||||
},
|
||||
"link_text": {
|
||||
"color": "#${base0B}",
|
||||
"bold": true
|
||||
},
|
||||
"image": {
|
||||
"color": "#${base08}",
|
||||
"underline": true
|
||||
},
|
||||
"image_text": {
|
||||
"color": "#${base09}",
|
||||
"format": "{{.text}} →"
|
||||
},
|
||||
"code": { "color": "#${base0D}" },
|
||||
"code_block": {
|
||||
"color": "#${base0E}",
|
||||
"block_prefix": "• ",
|
||||
"margin": 4,
|
||||
"chroma": {
|
||||
"text": { "color": "#${base06}" },
|
||||
"error": { "color": "#${base00}", "background_color": "#${base08}" },
|
||||
"comment": { "color": "#${base02}" },
|
||||
"comment_preproc": { "color": "#${base03}" },
|
||||
"keyword": { "color": "#${base09}" },
|
||||
"keyword_reserved": { "color": "#${base09}" },
|
||||
"keyword_namespace": { "color": "#${base09}" },
|
||||
"keyword_type": { "color": "#${base09}" },
|
||||
"operator": { "color": "#${base0B}" },
|
||||
"punctuation": { "color": "#${base0C}" },
|
||||
"name": { "color": "#${base08}" },
|
||||
"name_builtin": { "color": "#${base08}" },
|
||||
"name_tag": { "color": "#${base08}" },
|
||||
"name_attribute": { "color": "#${base08}" },
|
||||
"name_class": { "color": "#${base08}", "underline": true, "bold": true },
|
||||
"name_constant": {},
|
||||
"name_decorator": { "color": "#${base08}" },
|
||||
"name_exception": {},
|
||||
"name_function": { "color": "#${base08}" },
|
||||
"name_other": {},
|
||||
"literal": {},
|
||||
"literal_number": { "color": "#${base0D}" },
|
||||
"literal_date": {},
|
||||
"literal_string": { "color": "#${base0D}" },
|
||||
"literal_string_escape": { "color": "#${base0D}" },
|
||||
"generic_deleted": { "color": "#${base0E}" },
|
||||
"generic_emph": { "italic": true },
|
||||
"generic_inserted": { "color": "#${base0E}" },
|
||||
"generic_strong": { "bold": true },
|
||||
"generic_subheading": { "color": "#${base0E}" },
|
||||
"background": { "background_color": "#${base0E}" }
|
||||
}
|
||||
},
|
||||
"table": {},
|
||||
"definition_list": {},
|
||||
"definition_term": {},
|
||||
"definition_description": { "block_prefix": "\n🠶 " },
|
||||
"html_block": {},
|
||||
"html_span": {}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -1,19 +1,10 @@
|
|||
{ lib, config, False, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.misc.minimal;
|
||||
in {
|
||||
options = { module.misc.minimal = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
news.display = "silent";
|
||||
programs.man = False;
|
||||
manual = {
|
||||
html = False;
|
||||
json = False;
|
||||
manpages = False;
|
||||
};
|
||||
{ False, ... }: {
|
||||
news.display = "silent";
|
||||
programs.man = False;
|
||||
manual = {
|
||||
html = False;
|
||||
json = False;
|
||||
manpages = False;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,37 +1,28 @@
|
|||
{ pkgs, lib, config, userName, False, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.misc.nix;
|
||||
in {
|
||||
options = { module.misc.nix = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
nix = {
|
||||
package = pkgs.nix;
|
||||
settings = {
|
||||
warn-dirty = false;
|
||||
extra-experimental-features = [ "nix-command" "flakes" ];
|
||||
builders-use-substitutes = true;
|
||||
auto-optimise-store = true;
|
||||
extra-substituters = [
|
||||
"https://nix-gaming.cachix.org" # NIX GAMING
|
||||
"https://hyprland.cachix.org" # HYPRLAND
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" # NIX GAMING
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND
|
||||
];
|
||||
trusted-users = [ "${userName}" "@wheel" ];
|
||||
};
|
||||
};
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
news.display = "silent";
|
||||
manual = {
|
||||
manpages = False;
|
||||
json = False;
|
||||
html = False;
|
||||
{ pkgs, userName, False, ... }: {
|
||||
nix = {
|
||||
package = pkgs.nix;
|
||||
settings = {
|
||||
warn-dirty = false;
|
||||
extra-experimental-features = [ "nix-command" "flakes" ];
|
||||
builders-use-substitutes = true;
|
||||
auto-optimise-store = true;
|
||||
extra-substituters = [
|
||||
"https://nix-gaming.cachix.org" # NIX GAMING
|
||||
"https://hyprland.cachix.org" # HYPRLAND
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" # NIX GAMING
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND
|
||||
];
|
||||
trusted-users = [ "${userName}" "@wheel" ];
|
||||
};
|
||||
};
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
news.display = "silent";
|
||||
manual = {
|
||||
manpages = False;
|
||||
json = False;
|
||||
html = False;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, config, True, ... }:
|
||||
{ pkgs, lib, config, flakeDir, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
|
@ -14,10 +14,7 @@ in {
|
|||
mime = True;
|
||||
portal = True // {
|
||||
config.common.default = "gtk";
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||
};
|
||||
userDirs = True // {
|
||||
createDirectories = true;
|
||||
|
@ -29,6 +26,7 @@ in {
|
|||
publicShare = "${hmdir}/";
|
||||
templates = "${hmdir}/";
|
||||
videos = "${hmdir}/Videos";
|
||||
extraConfig = { XDG_FLAKE_DIR = flakeDir; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -112,6 +112,7 @@ in {
|
|||
"x-scheme-handler/about" = "zen.${ds}";
|
||||
"x-scheme-handler/unknown" = "zen.${ds}";
|
||||
# OTHER
|
||||
"x-scheme-handler/spotify" = "spotify.${ds}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./anicli
|
||||
./bat
|
||||
./cava
|
||||
./eza
|
||||
|
@ -8,6 +7,8 @@
|
|||
./fzf
|
||||
./git
|
||||
./helix
|
||||
./joshuto
|
||||
./legendary
|
||||
./micro
|
||||
./rmpc
|
||||
./top
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, config, flakeDir, True, False, ... }:
|
||||
{ pkgs, lib, config, sec, flakeDir, True, False, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
|
@ -16,10 +16,6 @@ in {
|
|||
options = {
|
||||
module.programs.cli.git = {
|
||||
enable = mkEnableOption "";
|
||||
path = mkOption {
|
||||
default = null;
|
||||
type = types.str;
|
||||
};
|
||||
name = mkOption {
|
||||
default = null;
|
||||
type = types.str;
|
||||
|
@ -34,8 +30,8 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
programs.git = True // {
|
||||
package = pkgs.gitMinimal;
|
||||
userName = cfg.name;
|
||||
userEmail = cfg.email;
|
||||
userName = sec.git.name;
|
||||
userEmail = sec.git.email;
|
||||
extraConfig = {
|
||||
color.ui = true;
|
||||
init.defaultBranch = "main";
|
||||
|
|
|
@ -6,7 +6,7 @@ let cfg = config.module.programs.cli.helix;
|
|||
in {
|
||||
options = { module.programs.cli.helix = { enable = mkEnableOption ""; }; };
|
||||
|
||||
imports = [ ./sets.nix ./binds.nix ./langs.nix ./theme.nix ];
|
||||
imports = [ ./settings.nix ./binds.nix ./languages.nix ./theme.nix ];
|
||||
config =
|
||||
mkIf cfg.enable { programs.helix = True // { defaultEditor = true; }; };
|
||||
}
|
||||
|
|
|
@ -17,16 +17,10 @@ in {
|
|||
indent = indent;
|
||||
inherit auto-format;
|
||||
}
|
||||
{ # FISH LSP
|
||||
name = "fish";
|
||||
language-servers = [ "fish_indent" ];
|
||||
inherit auto-format;
|
||||
formatter.command = "${fish}/bin/fish_indent";
|
||||
indent = indent;
|
||||
}
|
||||
{ # HTML
|
||||
name = "html";
|
||||
language-servers = [ "vscode-html-language-server" ];
|
||||
language-servers = [ "vscode-html" ];
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${prettier}/bin/prettier";
|
||||
|
@ -35,7 +29,8 @@ in {
|
|||
}
|
||||
{ # JSON
|
||||
name = "json";
|
||||
language-servers = [ "vscode-json-language-server" ];
|
||||
language-servers = [ "vscode-json" ];
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${prettier}/bin/prettier";
|
||||
|
@ -44,7 +39,8 @@ in {
|
|||
}
|
||||
{ # JSON
|
||||
name = "jsonc";
|
||||
language-servers = [ "vscode-json-language-server" ];
|
||||
language-servers = [ "vscode-json" ];
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${prettier}/bin/prettier";
|
||||
|
@ -53,7 +49,8 @@ in {
|
|||
}
|
||||
{ # CSS
|
||||
name = "css";
|
||||
language-servers = [ "vscode-css-language-server" ];
|
||||
language-servers = [ "vscode-css" ];
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${prettier}/bin/prettier";
|
||||
|
@ -63,40 +60,62 @@ in {
|
|||
{ # MARKDOWN
|
||||
name = "markdown";
|
||||
language-servers = [ "marksman" ];
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${prettier}/bin/prettier";
|
||||
args = [ "--use-tabs" "--parser" "markdown" ];
|
||||
};
|
||||
}
|
||||
{ # TYPESCRIP
|
||||
{ # TYPESCRIPT
|
||||
name = "typescript";
|
||||
language-servers = [ "typescript" ];
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${prettier}/bin/prettier";
|
||||
args = [ "--use-tabs" "--parser" "typescript" ];
|
||||
};
|
||||
}
|
||||
{ # PYTHON
|
||||
name = "python";
|
||||
language-servers = [ "pylsp" "ruff" ];
|
||||
shebangs = [ "${python39}/bin/python" ];
|
||||
file-types = [ "py" "pyi" "py3" "pyw" ".pythonstartup" ".pythonrc" ];
|
||||
roots = [ "." "pyproject.toml" "pyrightconfig.json" ];
|
||||
comment-token = "#";
|
||||
scope = "source.python";
|
||||
injection-regex = "python";
|
||||
indent = indent;
|
||||
inherit auto-format;
|
||||
formatter = {
|
||||
command = "${ruff}/bin/ruff";
|
||||
args = [ "format" "-" ];
|
||||
};
|
||||
}
|
||||
];
|
||||
language-server = let vscode = vscode-langservers-extracted;
|
||||
language-server = let
|
||||
vscode = vscode-langservers-extracted;
|
||||
typescript = typescript-language-server;
|
||||
in {
|
||||
nixd = { command = "${nixd}/bin/nixd"; };
|
||||
fish_indent = { command = "${fish}/bin/fish_indent"; };
|
||||
vscode-html-language-server = {
|
||||
command = "${vscode}/bin/vscode-html-language-server";
|
||||
};
|
||||
vscode-json-language-server = {
|
||||
command = "${vscode}/bin/vscode-json-language-server";
|
||||
};
|
||||
vscode-css-language-server = {
|
||||
command = "${vscode}/bin/vscode-css-language-server";
|
||||
};
|
||||
marksman = { command = "${marksman}/bin/marksman"; };
|
||||
typescript = {
|
||||
command =
|
||||
"${typescript-language-server}/bin/typescript-language-server";
|
||||
nixd.command = "${nixd}/bin/nixd";
|
||||
vscode-html.command = "${vscode}/bin/vscode-html-language-server";
|
||||
vscode-json.command = "${vscode}/bin/vscode-json-language-server";
|
||||
vscode-css.command = "${vscode}/bin/vscode-css-language-server";
|
||||
marksman.command = "${marksman}/bin/marksman";
|
||||
typescript.command = "${typescript}/bin/typescript-language-server";
|
||||
pyright = {
|
||||
command = "${pyright}/bin/pyright-langserver";
|
||||
args = [ "--stdio" ];
|
||||
config = {
|
||||
reportMissingTypeStubs = false;
|
||||
python.analysis = {
|
||||
typeCheckingMode = "basic";
|
||||
autoImportCompletions = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
ruff.command = "${ruff-lsp}/bin/ruff-lsp";
|
||||
};
|
||||
};
|
||||
extraPackages = with pkgs; [
|
12
modules/home/programs/cli/joshuto/default.nix
Normal file
12
modules/home/programs/cli/joshuto/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.cli.joshuto;
|
||||
in {
|
||||
options = { module.programs.cli.joshuto = { enable = mkEnableOption ""; }; };
|
||||
|
||||
imports = [ ./mimetype.nix ./settings.nix ./theme.nix ];
|
||||
config = mkIf cfg.enable { programs.joshuto = True; };
|
||||
}
|
||||
|
125
modules/home/programs/cli/joshuto/mimetype.nix
Normal file
125
modules/home/programs/cli/joshuto/mimetype.nix
Normal file
|
@ -0,0 +1,125 @@
|
|||
{
|
||||
programs.joshuto.mimetype = {
|
||||
class = {
|
||||
audio_default = [{
|
||||
command = "mpv";
|
||||
args = [ "--" ];
|
||||
}];
|
||||
image_default = [{
|
||||
command = "swayimg";
|
||||
args = [ "-f --" ];
|
||||
}];
|
||||
video_default = [{
|
||||
command = "mpv";
|
||||
args = [ "--" ];
|
||||
fork = true;
|
||||
silent = true;
|
||||
}];
|
||||
text_default = [
|
||||
{ command = "hx"; }
|
||||
{
|
||||
command = "bat";
|
||||
args = [ "--paging=always" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
video = { "inherit" = "video_default"; };
|
||||
text = { "inherit" = "text_default"; };
|
||||
extensions = {
|
||||
# AUDIO
|
||||
aac."inherit" = "audio_default";
|
||||
ac3."inherit" = "audio_default";
|
||||
aiff."inherit" = "audio_default";
|
||||
ape."inherit" = "audio_default";
|
||||
dts."inherit" = "audio_default";
|
||||
flac."inherit" = "audio_default";
|
||||
m4a."inherit" = "audio_default";
|
||||
mp3."inherit" = "audio_default";
|
||||
oga."inherit" = "audio_default";
|
||||
ogg."inherit" = "audio_default";
|
||||
opus."inherit" = "audio_default";
|
||||
wav."inherit" = "audio_default";
|
||||
wv."inherit" = "audio_default";
|
||||
|
||||
# VIDEO
|
||||
avi."inherit" = "video_default";
|
||||
av1."inherit" = "video_default";
|
||||
flv."inherit" = "video_default";
|
||||
mkv."inherit" = "video_default";
|
||||
m4v."inherit" = "video_default";
|
||||
mov."inherit" = "video_default";
|
||||
mp4."inherit" = "video_default";
|
||||
ts."inherit" = "video_default";
|
||||
webm."inherit" = "video_default";
|
||||
wmv."inherit" = "video_default";
|
||||
|
||||
# TEXT
|
||||
bib."inherit" = "text_default";
|
||||
build."inherit" = "text_default";
|
||||
c."inherit" = "text_default";
|
||||
cfg."inherit" = "text_default";
|
||||
cmake."inherit" = "text_default";
|
||||
conf."inherit" = "text_default";
|
||||
cpp."inherit" = "text_default";
|
||||
css."inherit" = "text_default";
|
||||
csv."inherit" = "text_default";
|
||||
cu."inherit" = "text_default";
|
||||
desktop."inherit" = "text_default";
|
||||
ebuild."inherit" = "text_default";
|
||||
eex."inherit" = "text_default";
|
||||
env."inherit" = "text_default";
|
||||
ex."inherit" = "text_default";
|
||||
exs."inherit" = "text_default";
|
||||
go."inherit" = "text_default";
|
||||
gpl."inherit" = "text_default";
|
||||
h."inherit" = "text_default";
|
||||
hpp."inherit" = "text_default";
|
||||
hs."inherit" = "text_default";
|
||||
ini."inherit" = "text_default";
|
||||
ipynb."inherit" = "text_default";
|
||||
java."inherit" = "text_default";
|
||||
jl."inherit" = "text_default";
|
||||
js."inherit" = "text_default";
|
||||
json."inherit" = "text_default";
|
||||
jsonc."inherit" = "text_default";
|
||||
kdl."inherit" = "text_default";
|
||||
kt."inherit" = "text_default";
|
||||
kvconfig."inherit" = "text_default";
|
||||
lock."inherit" = "text_default";
|
||||
log."inherit" = "text_default";
|
||||
lua."inherit" = "text_default";
|
||||
md."inherit" = "text_default";
|
||||
micro."inherit" = "text_default";
|
||||
ninja."inherit" = "text_default";
|
||||
nix."inherit" = "text_default";
|
||||
norg."inherit" = "text_default";
|
||||
org."inherit" = "text_default";
|
||||
po."inherit" = "text_default";
|
||||
pot."inherit" = "text_default";
|
||||
py."inherit" = "text_default";
|
||||
qmd."inherit" = "text_default";
|
||||
rasi."inherit" = "text_default";
|
||||
rkt."inherit" = "text_default";
|
||||
rktd."inherit" = "text_default";
|
||||
rproj."inherit" = "text_default";
|
||||
rs."inherit" = "text_default";
|
||||
rstheme."inherit" = "text_default";
|
||||
scm."inherit" = "text_default";
|
||||
scss."inherit" = "text_default";
|
||||
service."inherit" = "text_default";
|
||||
sh."inherit" = "text_default";
|
||||
socket."inherit" = "text_default";
|
||||
sql."inherit" = "text_default";
|
||||
srt."inherit" = "text_default";
|
||||
svelte."inherit" = "text_default";
|
||||
toml."inherit" = "text_default";
|
||||
tsx."inherit" = "text_default";
|
||||
txt."inherit" = "text_default";
|
||||
vim."inherit" = "text_default";
|
||||
xml."inherit" = "text_default";
|
||||
yaml."inherit" = "text_default";
|
||||
yml."inherit" = "text_default";
|
||||
};
|
||||
};
|
||||
}
|
20
modules/home/programs/cli/joshuto/settings.nix
Normal file
20
modules/home/programs/cli/joshuto/settings.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
programs.joshuto.settings = {
|
||||
mouse_support = false;
|
||||
xdg_open = false;
|
||||
xdg_open_fork = false;
|
||||
use_trash = true;
|
||||
focus_on_create = true;
|
||||
max_preview_size = "2 GB";
|
||||
zoxide_update = true;
|
||||
display = {
|
||||
collapse_preview = true;
|
||||
column_ratio = [ 1 3 4 ];
|
||||
show_borders = true;
|
||||
show_icons = true;
|
||||
tilde_in_titlebar = true;
|
||||
sort = { directories_first = true; };
|
||||
};
|
||||
tab = { home_page = "inherit"; };
|
||||
};
|
||||
}
|
17
modules/home/programs/cli/joshuto/theme.nix
Normal file
17
modules/home/programs/cli/joshuto/theme.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ config, ... }: {
|
||||
programs.joshuto.theme = with config.lib.stylix.colors; {
|
||||
lscolors_enabled = true;
|
||||
tabs.styles = {
|
||||
active = {
|
||||
bg = "${base00}";
|
||||
fg = "${base0E}";
|
||||
bold = true;
|
||||
};
|
||||
inactive = {
|
||||
bg = "${base00}";
|
||||
fg = "${base03}";
|
||||
bold = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
27
modules/home/programs/cli/legendary/default.nix
Normal file
27
modules/home/programs/cli/legendary/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.cli.legendary;
|
||||
in {
|
||||
options = {
|
||||
module.programs.cli.legendary = { enable = mkEnableOption ""; };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ legendary-gl ];
|
||||
xdg.configFile."legendary/config.ini".text = ''
|
||||
[Legendary]
|
||||
log_level = debug
|
||||
max_memory = 2048
|
||||
max_workers = 8
|
||||
install_dir = ${dev.hdd}/Games[LITE]
|
||||
locale = en-US
|
||||
disable_https = false
|
||||
disable_update_check = false
|
||||
disable_update_notice = false
|
||||
disable_auto_aliasing = false
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
{ lib, config, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.cli.zellij;
|
||||
in {
|
||||
options = { module.programs.cli.zellij = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.zellij = True // {
|
||||
settings = {
|
||||
pane_frames = true;
|
||||
default_layout = "compact";
|
||||
mouse_mode = false;
|
||||
themes.base16 = with config.lib.stylix.colors; {
|
||||
fg = "#${base06}";
|
||||
bg = "#${base00}";
|
||||
black = "#${base01}";
|
||||
red = "#${base08}";
|
||||
green = "#${base0B}";
|
||||
yellow = "#${base09}";
|
||||
blue = "#${base0D}";
|
||||
magenta = "#${base0E}";
|
||||
cyan = "#${base0C}";
|
||||
white = "#${base0F}";
|
||||
orange = "#${base09}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,9 +2,11 @@
|
|||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.cli.anicli;
|
||||
let cfg = config.module.programs.custom.anicli;
|
||||
in {
|
||||
options = { module.programs.cli.anicli = { enable = mkEnableOption ""; }; };
|
||||
options = {
|
||||
module.programs.custom.anicli = { enable = mkEnableOption ""; };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ (pkgs.callPackage ./anicli-ru.nix { }) ];
|
12
modules/home/programs/custom/ctree/default.nix
Normal file
12
modules/home/programs/custom/ctree/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.custom.ctree;
|
||||
in {
|
||||
options = { module.programs.custom.ctree = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { home.packages = [ (pkgs.callPackage ./pkg.nix { }) ]; };
|
||||
}
|
||||
|
23
modules/home/programs/custom/ctree/pkg.nix
Normal file
23
modules/home/programs/custom/ctree/pkg.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ctree";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/gleich/ctree/releases/download/v${version}/ctree_${version}_linux_amd64.tar.gz";
|
||||
hash = "sha256-2gD6ESzpz9sMJx1iRL438lP4QR/PVCZ5vMqfkpG3e0E=";
|
||||
};
|
||||
|
||||
# installPhase = ''
|
||||
# mkdir -p $out/bin
|
||||
# cp foo $out/bin
|
||||
# '';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/gleich/ctree";
|
||||
maintainers = with maintainers; [ azikx ];
|
||||
mainProgram = "ctree";
|
||||
};
|
||||
}
|
1
modules/home/programs/custom/default.nix
Normal file
1
modules/home/programs/custom/default.nix
Normal file
|
@ -0,0 +1 @@
|
|||
{ imports = [ ./anicli ./ctree ./mabel ./rustmission ./torque ]; }
|
12
modules/home/programs/custom/mabel/default.nix
Normal file
12
modules/home/programs/custom/mabel/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.custom.mabel;
|
||||
in {
|
||||
options = { module.programs.custom.mabel = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { home.packages = [ (pkgs.callPackage ./pkg.nix { }) ]; };
|
||||
}
|
||||
|
22
modules/home/programs/custom/mabel/pkg.nix
Normal file
22
modules/home/programs/custom/mabel/pkg.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, }:
|
||||
buildGoModule rec {
|
||||
pname = "mabel";
|
||||
version = "0.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "smmr-software";
|
||||
repo = "mabel";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KqZGwicWCi+9TLF4AwD3zL/Kz5C2a9iXAtcQYaswpWo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xWOPiSX2cEmekd2k96O81qn3ygW1nU1MU4qL+JJN0AE=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/smmr-software/mabel";
|
||||
changelog =
|
||||
"https://github.com/smmr-software/mabel/releases/tag/v${version}";
|
||||
maintainers = with maintainers; [ uwugda ];
|
||||
mainProgram = "mabel";
|
||||
};
|
||||
}
|
55
modules/home/programs/custom/rustmission/config.toml
Normal file
55
modules/home/programs/custom/rustmission/config.toml
Normal file
|
@ -0,0 +1,55 @@
|
|||
[general]
|
||||
auto_hide = true
|
||||
accent_color = "LightRed"
|
||||
beginner_mode = false
|
||||
headers_hide = false
|
||||
|
||||
[connection]
|
||||
url = "http://127.0.0.1:9091/transmission/rpc" # REQUIRED!
|
||||
torrents_refresh = 5
|
||||
stats_refresh = 5
|
||||
free_space_refresh = 10
|
||||
# username = "CHANGE_ME"
|
||||
# password = "CHANGE_ME"
|
||||
|
||||
[torrents_tab]
|
||||
# Available fields:
|
||||
# Id, Name, SizeWhenDone, Progress, Eta, DownloadRate, UploadRate, DownloadDir,
|
||||
# Padding, UploadRatio, UploadedEver, AddedDate, ActivityDate, PeersConnected
|
||||
# SmallStatus, Category, CategoryIcon
|
||||
headers = ["Name", "SizeWhenDone", "Progress", "Eta", "DownloadRate", "UploadRate"]
|
||||
default_sort = "Progress"
|
||||
default_sort_reverse = true
|
||||
category_icon_insert_into_name = true
|
||||
|
||||
[search_tab]
|
||||
# If you uncomment this, providers won't be automatically added in future
|
||||
# versions of Rustmission.
|
||||
# providers = ["Knaben", "Nyaa"]
|
||||
|
||||
[icons]
|
||||
# Ascii alternatives # Defaults
|
||||
# upload = "↑" # ""
|
||||
# download = "↓" # ""
|
||||
# arrow_left = "←" # ""
|
||||
# arrow_right = "→" # ""
|
||||
# arrow_up = "↑" # ""
|
||||
# arrow_down = "↓" # ""
|
||||
# triangle_right = "▶" # "▶"
|
||||
# triangle_down = "▼" # "▼"
|
||||
# file = "∷" # ""
|
||||
# disk = "[D]" # ""
|
||||
# help = "[?]" # ""
|
||||
# success = "✔" # ""
|
||||
# failure = "✖" # ""
|
||||
# searching = "⟳" # ""
|
||||
# verifying = "⟳" # ""
|
||||
# loading = "⌛" # ""
|
||||
# pause = "‖" # ""
|
||||
# idle = "○" # ""
|
||||
# magnifying_glass = "[o]" # ""
|
||||
# provider_disabled = "⛔" # ""
|
||||
# provider_category_general = "[G]" # ""
|
||||
# provider_category_anime = "[A]" # ""
|
||||
# sort_ascending = "↓" # ""
|
||||
# sort_descending = "↑" # """
|
16
modules/home/programs/custom/rustmission/default.nix
Normal file
16
modules/home/programs/custom/rustmission/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.custom.rustmission;
|
||||
in {
|
||||
options = {
|
||||
module.programs.custom.rustmission = { enable = mkEnableOption ""; };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ rustmission ];
|
||||
xdg.configFile = { "rustmission/config.toml".source = ./config.toml; };
|
||||
};
|
||||
}
|
||||
|
14
modules/home/programs/custom/torque/default.nix
Normal file
14
modules/home/programs/custom/torque/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.programs.custom.torque;
|
||||
in {
|
||||
options = {
|
||||
module.programs.custom.torque = { enable = mkEnableOption ""; };
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { home.packages = [ (pkgs.callPackage ./pkg.nix { }) ]; };
|
||||
}
|
||||
|
17
modules/home/programs/custom/torque/pkg.nix
Normal file
17
modules/home/programs/custom/torque/pkg.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ stdenv, fetchurl }:
|
||||
stdenv.mkDerivation {
|
||||
name = "torque";
|
||||
dontUnpack = true;
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://raw.githubusercontent.com/dylanaraps/torque/refs/heads/master/torque";
|
||||
sha256 = "sha256-4PoO7Vn1/Lu2uB3UttH1PJbSMBq/dE+oJl8OoQ4YQC4=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp $src $out/bin/torque
|
||||
chmod +x $out/bin/torque
|
||||
'';
|
||||
}
|
|
@ -1 +1 @@
|
|||
{ imports = [ ./cli ./gui ]; }
|
||||
{ imports = [ ./cli ./custom ./gui ]; }
|
||||
|
|
|
@ -6,7 +6,6 @@ let cfg = config.module.shells.alias;
|
|||
in {
|
||||
options = {
|
||||
module.shells.alias = {
|
||||
enable = mkEnableOption "";
|
||||
alias = mkOption {
|
||||
type = with types; attrsOf str;
|
||||
default = null;
|
||||
|
@ -14,7 +13,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = {
|
||||
home = { shellAliases = cfg.alias; };
|
||||
xdg.configFile."lutgen/paradise".text =
|
||||
"151515 1F1F1F 2E2E2E 424242 BBB6B6 E8E3E3 E8E3E3 E8E3E3 B66467 D9BC8C D9BC8C 8C977D 8AA6A2 8DA3B9 A988B0 BBB6B6";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, userName, True, ... }:
|
||||
{ pkgs, lib, config, userName, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
|
@ -8,9 +8,10 @@ let
|
|||
in {
|
||||
options = { module.shells.fish = { enable = mkEnableOption ""; }; };
|
||||
|
||||
imports = [ ./misc ./colors.nix ./functions.nix ./plugins.nix ];
|
||||
imports = [ ./misc ./colors.nix ./plugins.nix ];
|
||||
config = mkIf cfg.enable {
|
||||
programs.fish = True // {
|
||||
package = pkgs.fish;
|
||||
preferAbbrs = true;
|
||||
shellAbbrs = abbrs;
|
||||
interactiveShellInit = ''
|
||||
|
@ -38,6 +39,8 @@ in {
|
|||
set -g tide_pwd_color_dirs blue
|
||||
set -g tide_pwd_color_anchors blue
|
||||
set -g tide_git_color_branch -o green
|
||||
|
||||
[ "$(tty)" = "/dev/tty1" ] && exec Hyprland # LAUNCH WM
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{ flakeDir, ... }: {
|
||||
programs.fish.functions = {
|
||||
clone.body = ''
|
||||
echo "cd ~/git/"
|
||||
|
@ -7,16 +7,21 @@
|
|||
'';
|
||||
# NIX
|
||||
rebuild.body = ''
|
||||
git add ~/.flake/.
|
||||
git add --all ${flakeDir}/.
|
||||
for ARG in $argv
|
||||
if [ $ARG = home ]
|
||||
command home-manager switch --flake ~/.flake
|
||||
command nh home switch
|
||||
return $status
|
||||
else if [ $ARG = host ]
|
||||
command sudo nixos-rebuild switch --flake ~/.flake
|
||||
command sudo nh os switch
|
||||
return $status
|
||||
else
|
||||
command echo "Select 'home' or 'host'"
|
||||
else if [ $ARG = both ]
|
||||
command nh home switch
|
||||
command sudo nh os switch
|
||||
return $status
|
||||
else
|
||||
command echo "Select 'home' or 'host' os 'both'"
|
||||
end
|
||||
end
|
||||
'';
|
||||
|
|
|
@ -1,31 +1,22 @@
|
|||
{ lib, config, ... }:
|
||||
{ ... }: {
|
||||
home.sessionVariables = {
|
||||
TERM = "kitty";
|
||||
TERMINAL = "kitty";
|
||||
|
||||
with lib;
|
||||
FILE_MANAGER = "yazi";
|
||||
|
||||
let cfg = config.module.shells.var;
|
||||
in {
|
||||
options = { module.shells.var = { enable = mkEnableOption ""; }; };
|
||||
MICRO_TRUECOLOR = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
RANGER_LOAD_DEFAULT_RC = "false";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.sessionVariables = {
|
||||
TERM = "kitty";
|
||||
TERMINAL = "kitty";
|
||||
|
||||
FILE_MANAGER = "yazi";
|
||||
|
||||
MICRO_TRUECOLOR = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
RANGER_LOAD_DEFAULT_RC = "false";
|
||||
|
||||
# FFF FILE MANAGER
|
||||
FFF_HIDDEN = "1";
|
||||
FFF_LS_COLORS = "1";
|
||||
FFF_COL1 = "1";
|
||||
FFF_COL2 = "0";
|
||||
FFF_COL3 = "2";
|
||||
FFF_COL4 = "6";
|
||||
FFF_COL5 = "7";
|
||||
};
|
||||
# FFF FILE MANAGER
|
||||
FFF_HIDDEN = "1";
|
||||
FFF_LS_COLORS = "1";
|
||||
FFF_COL1 = "1";
|
||||
FFF_COL2 = "0";
|
||||
FFF_COL3 = "2";
|
||||
FFF_COL4 = "6";
|
||||
FFF_COL5 = "7";
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, config, True, wm, ... }:
|
||||
{ pkgs, lib, config, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
|
@ -66,7 +66,6 @@ in {
|
|||
${settings.default}
|
||||
# BINDINGS
|
||||
${builtins.readFile ./keymap}
|
||||
[ "$(tty)" = "/dev/tty1" ] && exec ${wm.sh} # LAUNCH WM
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
inactive_colors=#ffe8e3e3, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ffe8e3e3, #ffe8e3e3, #ffe8e3e3, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ffbbb6b6, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
|
||||
'';
|
||||
in {
|
||||
"qt5ct/colors/paradise.conf".text = "${colors}";
|
||||
"qt6ct/colors/paradise.conf".text = "${colors}";
|
||||
"qt5ct/colors/paradise.conf".text = colors;
|
||||
"qt6ct/colors/paradise.conf".text = colors;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -40,23 +40,15 @@ in {
|
|||
True // {
|
||||
autoEnable = false;
|
||||
image = "${wal}/wallpapers/paradise/${cfg.image}.jpg";
|
||||
cursor = let
|
||||
size = 24;
|
||||
custom = with inputs.cursors; {
|
||||
inherit size;
|
||||
name = "GoogleDot-Custom";
|
||||
package = packages.${pkgs.system}.google-cursor.override {
|
||||
background_color = cfg.cursor.bg;
|
||||
outline_color = cfg.cursor.ol;
|
||||
accent_color = cfg.cursor.ac;
|
||||
};
|
||||
cursor = with inputs.cursors; {
|
||||
size = 16;
|
||||
name = "GoogleDot-Custom";
|
||||
package = packages.${pkgs.system}.google-cursor.override {
|
||||
background_color = cfg.cursor.bg;
|
||||
outline_color = cfg.cursor.ol;
|
||||
accent_color = cfg.cursor.ac;
|
||||
};
|
||||
google = with pkgs; {
|
||||
inherit size;
|
||||
name = "GoogleDot-Black";
|
||||
package = google-cursor;
|
||||
};
|
||||
in google;
|
||||
};
|
||||
fonts = let
|
||||
jet = {
|
||||
name = "JetBrainsMono NerdFont";
|
||||
|
|
|
@ -3,8 +3,6 @@ let
|
|||
cfg = config.module.wm.hyprland;
|
||||
mic =
|
||||
"fixf4=$(cat /sys/class/leds/platform::micmute/brightness); echo $((1-fixf4)) | doas tee /sys/class/leds/platform::micmute/brightness; wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||
aud = "alsa_output.pci-0000_2b_00.1.hdmi-stereo.monitor";
|
||||
vid = "$(xdg-user-dir VIDEOS)/$(date +'vid_%d-%m-%y|%H:%M:%S.mp4')";
|
||||
workspaces = (builtins.concatLists (builtins.genList (i:
|
||||
let ws = i + 1;
|
||||
in [
|
||||
|
@ -30,7 +28,7 @@ in {
|
|||
"$mu" = "mouse_up";
|
||||
"$ex" = "exec";
|
||||
|
||||
bind = with cfg; # KEYBOARD
|
||||
bind = # KEYBOARD
|
||||
[ # MENU
|
||||
"$m, $tb, exec, ${pkgs.nwg-drawer}/bin/nwg-drawer -ovl -nocats -nofs -d -c 5 -mb -49"
|
||||
|
||||
|
@ -62,7 +60,7 @@ in {
|
|||
|
||||
"$m, $nx, workspace, e+1"
|
||||
"$m, $pr, workspace, e-1"
|
||||
] ++ workspaces ++ programs;
|
||||
] ++ workspaces ++ cfg.programs;
|
||||
|
||||
# HOLDING BUTTONS
|
||||
binde = let
|
||||
|
@ -120,8 +118,8 @@ in {
|
|||
", XF86AudioLowerVolume, $ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
|
||||
# LIGHT
|
||||
", XF86MonBrightnessDown, $ex, doas light -U 10"
|
||||
", XF86MonBrightnessUp, $ex, doas light -A 10"
|
||||
", XF86MonBrightnessDown, $ex, sudo light -U 10"
|
||||
", XF86MonBrightnessUp, $ex, sudo light -A 10"
|
||||
];
|
||||
|
||||
bindm = [ # MOUSE
|
||||
|
@ -130,14 +128,5 @@ in {
|
|||
"$m $s, mouse:273, resizewindow 1"
|
||||
];
|
||||
};
|
||||
|
||||
# SELECT AREA FOR VIDEO RECORD
|
||||
xdg.configFile."hypr/wfrec" = {
|
||||
executable = true;
|
||||
text = with config.lib.stylix.colors; ''
|
||||
#!/usr/bin/env bash
|
||||
${pkgs.wf-recorder}/bin/wf-recorder -a ${aud} -f ${vid} -g "$(${pkgs.slurp}/bin/slurp -b '${base00}CC' -c '${base0F}FF' -B '${base02}CC' -w '3')"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,42 +1,44 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
cl = "class:^";
|
||||
tl = "title:^";
|
||||
it = "initialTitle:^";
|
||||
in {
|
||||
{ config, ... }: {
|
||||
wayland.windowManager.hyprland.settings = with config.lib.stylix.colors; {
|
||||
windowrulev2 = [
|
||||
# WORKSPACE RULES
|
||||
layerrule = [ "noanim, notifications" ];
|
||||
windowrulev2 = let
|
||||
cl = "class:^";
|
||||
tt = "title:^";
|
||||
il = "initialClass:^";
|
||||
it = "initialTitle:^";
|
||||
in [
|
||||
"workspace 2 silent, ${cl}(firefox)$"
|
||||
"workspace 2 silent, ${cl}(floorp)$"
|
||||
"workspace 2 silent, ${cl}(zen-alpha)$"
|
||||
"workspace 3 silent, ${cl}(Spotify)$"
|
||||
"workspace 3 silent, ${tl}(Spotify Free)$"
|
||||
"workspace 3 silent, ${it}(Spotify Free)$"
|
||||
"workspace 3 silent, ${cl}(spotify)$"
|
||||
"workspace 3 silent, ${il}(spotify)$"
|
||||
"workspace 3 silent, ${tt}(Spotify Free)$"
|
||||
"workspace 3 silent, ${it}(Spotify)$"
|
||||
"workspace 4 silent, ${cl}(com.ayugram)$"
|
||||
"workspace 4 silent, ${cl}(io.github.tdesktop_x64.TDesktop)$"
|
||||
"workspace 4 silent, ${cl}(vesktop)$"
|
||||
"workspace 5 silent, ${cl}(obsidian)$"
|
||||
"workspace 6 silent, ${cl}(anicli)$"
|
||||
"workspace 9 silent, ${cl}(org.qbittorrent.qBittorrent)$"
|
||||
|
||||
# TERMINAL RULES
|
||||
"float, ${cl}(termfloat)$"
|
||||
"size 650 430, ${cl}(termfloat)$"
|
||||
"move center, ${cl}(termfloat)$"
|
||||
"size 650 430, ${cl}(termfloat)$"
|
||||
|
||||
# FILE MANAGER
|
||||
"float, ${cl}(tfm)$"
|
||||
"size 800 350, ${cl}(tfm)$"
|
||||
"move center, ${cl}(tfm)$"
|
||||
"size 800 350, ${cl}(tfm)$"
|
||||
|
||||
# AYUGRAM
|
||||
"minsize 540 680, ${cl}(com.ayugram)$"
|
||||
"float, ${tl}(Media viewer)$"
|
||||
"noanim, ${tl}(Media viewer)$"
|
||||
"fullscreen, ${tl}(Media viewer)$"
|
||||
"size 670 540, ${tl}(Media viewer)$"
|
||||
"float, ${tl}(Choose Files)$"
|
||||
"size 650 450, ${tl}(Choose Files)$"
|
||||
"minsize 540 680, ${cl}(com.ayugram)$" # SELF
|
||||
"float, ${tt}(Media viewer)$" # VIEWER
|
||||
"noanim, ${tt}(Media viewer)$"
|
||||
"fullscreen, ${tt}(Media viewer)$"
|
||||
"size 670 540, ${tt}(Media viewer)$"
|
||||
"float, ${tt}(Choose Files)$" # CHOOSER
|
||||
"size 650 450, ${tt}(Choose Files)$"
|
||||
|
||||
# XDG
|
||||
"float, ${cl}(xdg-desktop-portal-gtk)$"
|
||||
|
@ -51,10 +53,14 @@ in {
|
|||
"bordercolor rgb(${base08}) rgb(${base09}) 45deg, ${cl}(anicliru)$"
|
||||
|
||||
# KOMIKKU
|
||||
"size 700 980, ${cl}(info.febvre.Komikku)$"
|
||||
"pseudo, ${cl}(info.febvre.Komikku)$"
|
||||
"size 700 980, ${cl}(info.febvre.Komikku)$"
|
||||
|
||||
# TORRENT
|
||||
"float, ${cl}(org.qbittorrent.qBittorrent)$"
|
||||
"pseudo, ${cl}(org.qbittorrent.qBittorrent)$"
|
||||
"size 1020 740, ${cl}(org.qbittorrent.qBittorrent)$"
|
||||
];
|
||||
layerrule = [ "noanim, notifications" ];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, True, wm, ... }:
|
||||
{ lib, config, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
|
@ -12,7 +12,20 @@ in {
|
|||
True // {
|
||||
settings = {
|
||||
# BAR AT BOTTOM
|
||||
mainBar = let tooltip = false;
|
||||
mainBar = let
|
||||
Tool = { tooltip = false; };
|
||||
wm_icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
"7" = "七";
|
||||
"8" = "八";
|
||||
"9" = "九";
|
||||
"10" = "十";
|
||||
};
|
||||
in {
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
|
@ -26,9 +39,9 @@ in {
|
|||
"custom/separatorL"
|
||||
"network"
|
||||
"custom/separatorL"
|
||||
"${wm.bar}/language"
|
||||
"hyprland/language"
|
||||
];
|
||||
modules-center = [ "${wm.bar}/workspaces" ];
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"custom/separatorR"
|
||||
|
@ -40,18 +53,15 @@ in {
|
|||
];
|
||||
|
||||
# LEFT MODULES
|
||||
"custom/launcher" = {
|
||||
inherit tooltip;
|
||||
"custom/launcher" = Tool // {
|
||||
format = "<span color='#${base0C}' font='17'></span> {}";
|
||||
on-click = "nwg-drawer -ovl -nocats -nofs -d -c 7 -mb -49";
|
||||
};
|
||||
"custom/separatorL" = {
|
||||
inherit tooltip;
|
||||
"custom/separatorL" = Tool // {
|
||||
format = "|";
|
||||
interval = 1;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
inherit tooltip;
|
||||
"pulseaudio" = Tool // {
|
||||
format = "{icon} {volume}%";
|
||||
format-icons = {
|
||||
default = [ "" " " " " ];
|
||||
|
@ -63,16 +73,14 @@ in {
|
|||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"backlight" = {
|
||||
inherit tooltip;
|
||||
"backlight" = Tool // {
|
||||
device = "intel_backlight";
|
||||
format = "{icon}{percent}%";
|
||||
format-icons =
|
||||
[ " " " " " " " " " " " " " " " " " " " " ];
|
||||
scroll-step = 1;
|
||||
};
|
||||
"network" = {
|
||||
inherit tooltip;
|
||||
"network" = Tool // {
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
format-wifi = "{icon} CON";
|
||||
format-ethernet = " ETH";
|
||||
|
@ -80,15 +88,13 @@ in {
|
|||
on-click = "kitty nmtui";
|
||||
interval = 5;
|
||||
};
|
||||
"${wm.bar}/language" = {
|
||||
inherit tooltip;
|
||||
"hyprland/language" = Tool // {
|
||||
format = " {}";
|
||||
format-en = "EN";
|
||||
format-ru = "RU";
|
||||
keyboard-name = "at-translated-set-2-keyboard";
|
||||
};
|
||||
"cava" = {
|
||||
inherit tooltip;
|
||||
"cava" = Tool // {
|
||||
framerate = 24;
|
||||
autosens = 1;
|
||||
bars = 12;
|
||||
|
@ -98,42 +104,18 @@ in {
|
|||
};
|
||||
|
||||
# CENTER MODULES
|
||||
"hyprland/workspaces" = {
|
||||
inherit tooltip;
|
||||
"hyprland/workspaces" = Tool // {
|
||||
disable-scroll = false;
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
"7" = "七";
|
||||
"8" = "八";
|
||||
"9" = "九";
|
||||
"10" = "十";
|
||||
};
|
||||
format-icons = wm_icons;
|
||||
persistent-workspaces = { "*" = [ 1 2 3 4 5 6 7 8 9 10 ]; };
|
||||
};
|
||||
"sway/workspaces" = {
|
||||
inherit tooltip;
|
||||
"sway/workspaces" = Tool // {
|
||||
disable-scroll = false;
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
"7" = "七";
|
||||
"8" = "八";
|
||||
"9" = "九";
|
||||
"10" = "十";
|
||||
};
|
||||
format-icons = wm_icons;
|
||||
persistent-workspaces = {
|
||||
"1" = [ ];
|
||||
"2" = [ ];
|
||||
|
@ -146,31 +128,26 @@ in {
|
|||
};
|
||||
|
||||
# RIGHT MODULES
|
||||
"custom/separatorR" = {
|
||||
inherit tooltip;
|
||||
"custom/separatorR" = Tool // {
|
||||
format = "|";
|
||||
interval = 1;
|
||||
};
|
||||
"tray" = {
|
||||
inherit tooltip;
|
||||
"tray" = Tool // {
|
||||
icon-size = 18;
|
||||
show-passive-items = true;
|
||||
spacing = 8;
|
||||
};
|
||||
"disk" = {
|
||||
inherit tooltip;
|
||||
"disk" = Tool // {
|
||||
format = "{used} of {total} ";
|
||||
interval = 30;
|
||||
path = "/";
|
||||
unit = "GB";
|
||||
};
|
||||
"clock#time" = {
|
||||
inherit tooltip;
|
||||
"clock#time" = Tool // {
|
||||
format = "{:%H:%M} ";
|
||||
interval = 1;
|
||||
};
|
||||
"battery" = {
|
||||
inherit tooltip;
|
||||
"battery" = Tool // {
|
||||
format = "{capacity}% {icon}";
|
||||
format-alt = "{time} {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
|
|
|
@ -19,13 +19,12 @@ in {
|
|||
|
||||
imports = [ ./binds.nix ./sets.nix ];
|
||||
config = mkIf cfg.enable {
|
||||
wayland.windowManager.sway = with pkgs;
|
||||
True // {
|
||||
package = swayfx;
|
||||
checkConfig = false;
|
||||
xwayland = true;
|
||||
systemd = True;
|
||||
};
|
||||
wayland.windowManager.sway = True // {
|
||||
package = pkgs.swayfx;
|
||||
checkConfig = false;
|
||||
xwayland = true;
|
||||
systemd = True;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, config, True, ... }:
|
||||
{ lib, config, True, False, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
|
@ -13,7 +13,7 @@ in {
|
|||
initrd = True;
|
||||
amdvlk = True // {
|
||||
support32Bit = True;
|
||||
supportExperimental = True;
|
||||
supportExperimental = False;
|
||||
};
|
||||
};
|
||||
cpu.amd = { # OPTIMIZATION FOR CPU
|
||||
|
|
|
@ -14,8 +14,9 @@ in {
|
|||
];
|
||||
networking = { # FOR NETWORK
|
||||
hostName = hostName;
|
||||
nameservers = [ "::1" "127.0.0.1" "1.1.1.1" "1.0.0.1" ];
|
||||
resolvconf.dnsSingleRequest = true;
|
||||
networkmanager = True // {
|
||||
insertNameservers = [ "1.1.1.1" "1.0.0.1" ];
|
||||
dns = "systemd-resolved";
|
||||
wifi = {
|
||||
powersave = true;
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
./power
|
||||
./protonmail
|
||||
./system76
|
||||
./terraria
|
||||
./users
|
||||
./variables
|
||||
./zapret
|
||||
./nix.nix
|
||||
];
|
||||
}
|
||||
|
|
19
modules/nixos/misc/terraria/default.nix
Normal file
19
modules/nixos/misc/terraria/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ lib, config, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.misc.terraria;
|
||||
in {
|
||||
options = { module.misc.terraria = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.terraria = True // {
|
||||
password = "1234";
|
||||
port = 7777;
|
||||
openFirewall = true;
|
||||
messageOfTheDay = "You are gay's";
|
||||
autoCreatedWorldSize = "large";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,10 +1,8 @@
|
|||
{ pkgs, lib, config, userName, wm, True, ... }:
|
||||
{ pkgs, lib, config, userName, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.module.misc.users;
|
||||
grp = [ "video" "audio" "networkmanager" "wheel" "docker" "libvirtd" ];
|
||||
let cfg = config.module.misc.users;
|
||||
in {
|
||||
options = {
|
||||
module.misc.users = {
|
||||
|
@ -18,18 +16,35 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
programs.${cfg.shell} = True;
|
||||
environment.loginShellInit = ''
|
||||
[ "$(tty)" = "/dev/tty1" ] && exec ${wm.sh} # LAUNCH WM
|
||||
'';
|
||||
users = { # USERS SETS
|
||||
users = let
|
||||
grp = [
|
||||
"video"
|
||||
"audio"
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
"libvirtd"
|
||||
"terraria"
|
||||
"transmission"
|
||||
];
|
||||
in { # USERS SETS
|
||||
defaultUserShell = pkgs.${cfg.shell};
|
||||
groups.${userName} = { };
|
||||
users.${userName} = {
|
||||
uid = 1000;
|
||||
home = "/home/${userName}";
|
||||
createHome = true;
|
||||
isNormalUser = true;
|
||||
extraGroups = grp;
|
||||
groups = {
|
||||
${userName} = { };
|
||||
tpws = { };
|
||||
};
|
||||
users = {
|
||||
${userName} = {
|
||||
uid = 1000;
|
||||
home = "/home/${userName}";
|
||||
createHome = true;
|
||||
isNormalUser = true;
|
||||
extraGroups = grp;
|
||||
};
|
||||
tpws = {
|
||||
isSystemUser = true;
|
||||
group = "tpws";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.misc.zapret;
|
||||
in {
|
||||
options = { module.misc.zapret = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd = {
|
||||
services = {
|
||||
zapret = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "network.target" ];
|
||||
path = with pkgs; [ iptables nftables zapret ipset curl gawk ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
Restart = "no";
|
||||
TimeoutSec = "30sec";
|
||||
IgnoreSIGPIPE = "no";
|
||||
KillMode = "none";
|
||||
GuessMainPID = "no";
|
||||
ExecStart = "${pkgs.zapret}/bin/zapret start";
|
||||
ExecStop = "${pkgs.zapret}/bin/zapret stop";
|
||||
EnvironmentFile = pkgs.writeText "zapret-environment" ''
|
||||
FWTYPE="iptables"
|
||||
SET_MAXELEM=522288
|
||||
IPSET_OPT="hashsize 262144 maxelem $SET_MAXELEM"
|
||||
AUTOHOSTLIST_RETRANS_THRESHOLD=3
|
||||
AUTOHOSTLIST_FAIL_THRESHOLD=3
|
||||
AUTOHOSTLIST_FAIL_TIME=60
|
||||
AUTOHOSTLIST_DEBUGLOG=0
|
||||
MDIG_THREADS=30
|
||||
GZIP_LISTS=1
|
||||
|
||||
MODE=nfqws
|
||||
MODE_HTTP=1
|
||||
MODE_HTTP_KEEPALIVE=0
|
||||
MODE_HTTPS=1
|
||||
MODE_QUIC=0
|
||||
MODE_FILTER=none
|
||||
|
||||
DESYNC_MARK=0x40000000
|
||||
DESYNC_MARK_POSTNAT=0x20000000
|
||||
NFQWS_OPT_DESYNC="--dpi-desync=fake,split2 --dpi-desync-ttl=3"
|
||||
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3 --oob"
|
||||
FLOWOFFLOAD=donttouch
|
||||
INIT_APPLY_FW=1
|
||||
DISABLE_IPV6=0
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ in {
|
|||
sway.enable = mkEnableOption "";
|
||||
steam.enable = mkEnableOption "";
|
||||
torrserver.enable = mkEnableOption "";
|
||||
hamachi.enable = mkEnableOption "";
|
||||
pkgs = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = null;
|
||||
|
@ -27,12 +28,12 @@ in {
|
|||
};
|
||||
programs = {
|
||||
light = True;
|
||||
nano = False;
|
||||
git = True // { package = pkgs.gitMinimal; };
|
||||
nh = True // {
|
||||
flake = flakeDir;
|
||||
clean = True // { extraArgs = "--keep-since 3d --keep 3"; };
|
||||
};
|
||||
nano = False;
|
||||
};
|
||||
})
|
||||
(mkIf cfg.hyprland.enable {
|
||||
|
@ -49,10 +50,14 @@ in {
|
|||
programs = { sway = True // { package = pkgs.swayfx; }; };
|
||||
})
|
||||
(mkIf cfg.steam.enable {
|
||||
environment.systemPackages = with pkgs; [ protonup-qt ];
|
||||
hardware.xone = True;
|
||||
programs = {
|
||||
gamescope = True;
|
||||
gamemode = True;
|
||||
steam = True // { # GAMING
|
||||
gamescopeSession = True;
|
||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||
package = pkgs.steam.override {
|
||||
extraEnv = {
|
||||
MANGOHUD = true;
|
||||
|
@ -60,10 +65,10 @@ in {
|
|||
RADV_TEX_ANISO = 16;
|
||||
};
|
||||
};
|
||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.hamachi.enable { programs.haguichi = True; })
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -2,12 +2,14 @@
|
|||
imports = [
|
||||
./autocpu
|
||||
./dbus
|
||||
./deluge
|
||||
./getty
|
||||
./gvfs
|
||||
./polkit
|
||||
./printing
|
||||
./tailscale
|
||||
./tlp
|
||||
./transmission
|
||||
./zram
|
||||
];
|
||||
}
|
||||
|
|
17
modules/nixos/services/deluge/default.nix
Normal file
17
modules/nixos/services/deluge/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ pkgs, lib, config, userName, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.services.deluge;
|
||||
in {
|
||||
options = { module.services.deluge = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.deluge = True // {
|
||||
package = pkgs.deluged;
|
||||
dataDir = "/home/${userName}/Torrents";
|
||||
web = True // { openFirewall = true; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -8,20 +8,19 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
security.polkit = True;
|
||||
# systemd = {
|
||||
# user.services.polkitGui = {
|
||||
# wantedBy = [ "graphical-session.target" ];
|
||||
# wants = [ "graphical-session.target" ];
|
||||
# after = [ "graphical-session.target" ];
|
||||
# serviceConfig = {
|
||||
# Type = "simple";
|
||||
# ExecStart = "${pkgs.soteria}/bin/soteria";
|
||||
# Restart = "on-failure";
|
||||
# RestartSec = 1;
|
||||
# TimeoutStopSec = 10;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
environment.systemPackages = [ pkgs.soteria ];
|
||||
systemd.user.services.polkit-soteria = {
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
script = lib.getExe pkgs.soteria;
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
28
modules/nixos/services/transmission/default.nix
Normal file
28
modules/nixos/services/transmission/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ lib, config, True, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.module.services.transmission;
|
||||
in {
|
||||
options = { module.services.transmission = { enable = mkEnableOption ""; }; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.transmission.serviceConfig.UMask = lib.mkForce "0037";
|
||||
services.transmission = True // {
|
||||
home = "/var/lib/transmission";
|
||||
downloadDirPermissions = "777";
|
||||
performanceNetParameters = true;
|
||||
openRPCPort = true;
|
||||
openPeerPorts = true;
|
||||
settings = let home = config.services.transmission.home;
|
||||
in {
|
||||
peer-limit-per-torrent = 5;
|
||||
upload-slots-per-torrent = 2;
|
||||
|
||||
download-dir = "${home}/Completed";
|
||||
incomplete-dir = "${home}/.incompleted";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in a new issue