mirror of
https://git.sr.ht/~neverness/ultima
synced 2024-12-29 02:03:54 +00:00
update
This commit is contained in:
parent
cd2562bf0b
commit
75e6963dcf
231
flake.lock
231
flake.lock
|
@ -227,6 +227,22 @@
|
||||||
"type": "github"
|
"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": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
@ -245,6 +261,28 @@
|
||||||
"type": "github"
|
"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": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1629284811,
|
"lastModified": 1629284811,
|
||||||
|
@ -281,6 +319,36 @@
|
||||||
"type": "github"
|
"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": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -573,6 +641,29 @@
|
||||||
"type": "github"
|
"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": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731890469,
|
"lastModified": 1731890469,
|
||||||
|
@ -677,6 +768,34 @@
|
||||||
"type": "github"
|
"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": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731494868,
|
"lastModified": 1731494868,
|
||||||
|
@ -692,26 +811,6 @@
|
||||||
"type": "github"
|
"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": {
|
"parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
|
@ -730,6 +829,27 @@
|
||||||
"type": "github"
|
"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": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
@ -766,14 +886,34 @@
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"nypkgs": "nypkgs",
|
|
||||||
"parts": "parts",
|
"parts": "parts",
|
||||||
|
"phani": "phani",
|
||||||
"spicetify": "spicetify",
|
"spicetify": "spicetify",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"tgt": "tgt",
|
"tgt": "tgt",
|
||||||
|
"transg": "transg",
|
||||||
"zen": "zen"
|
"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": {
|
"spicetify": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
|
@ -925,6 +1065,49 @@
|
||||||
"type": "github"
|
"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": {
|
"umu": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -998,11 +1181,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731689537,
|
"lastModified": 1732835488,
|
||||||
"narHash": "sha256-0wN39XFD5bVcNANh9uLoQYyKbp9r6xX+oON1qI+L9iI=",
|
"narHash": "sha256-r1nomBVEMO4I0y3pMfqLletQxKak5xfpk9DhlO1AsuI=",
|
||||||
"owner": "ch4og",
|
"owner": "ch4og",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "064be844324965da1d596a541fdd831efe4a3a32",
|
"rev": "d8fbf602685f5cf2a6475eaf20595a6dc6628891",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
17
flake.nix
17
flake.nix
|
@ -6,6 +6,7 @@
|
||||||
hardware.url = "github:NixOS/nixos-hardware/master"; # HARDWARE
|
hardware.url = "github:NixOS/nixos-hardware/master"; # HARDWARE
|
||||||
parts.url = "github:hercules-ci/flake-parts"; # PARTS
|
parts.url = "github:hercules-ci/flake-parts"; # PARTS
|
||||||
gaming.url = "github:fufexan/nix-gaming"; # GAMING
|
gaming.url = "github:fufexan/nix-gaming"; # GAMING
|
||||||
|
transg.url = "github:PanAeon/transg-tui"; # TRANSG
|
||||||
hyprland.url = "github:hyprwm/Hyprland"; # HYPRLAND
|
hyprland.url = "github:hyprwm/Hyprland"; # HYPRLAND
|
||||||
stylix.url = "github:danth/stylix"; # STYLIX
|
stylix.url = "github:danth/stylix"; # STYLIX
|
||||||
|
|
||||||
|
@ -13,15 +14,11 @@
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nypkgs = {
|
disko = { # DECLARATIVE DISK PART
|
||||||
url = "github:yunfachi/nypkgs";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
disko = {
|
|
||||||
url = "github:nix-community/disko";
|
url = "github:nix-community/disko";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
zen = {
|
zen = { # COOL BROWSER
|
||||||
url = "github:ch4og/zen-browser-flake";
|
url = "github:ch4og/zen-browser-flake";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
@ -29,7 +26,7 @@
|
||||||
url = "github:Gerg-L/spicetify-nix";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
tgt = {
|
tgt = { # TUI TELEGRAM
|
||||||
url = "github:FedericoBruzzone/tgt";
|
url = "github:FedericoBruzzone/tgt";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
@ -37,7 +34,11 @@
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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";
|
url = "github:LilleAila/nix-cursors";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ self, inputs, ... }:
|
{ self, inputs, ... }:
|
||||||
let
|
let
|
||||||
builder = import ../libx/builder.nix {
|
builder = import ../libx/builder.nix {
|
||||||
inherit self inputs userName hostName flakeDir wm;
|
inherit self inputs userName hostName flakeDir dev;
|
||||||
};
|
};
|
||||||
hostName = "jetpure";
|
hostName = "jetpure";
|
||||||
userName = "nixzoid";
|
userName = "nixzoid";
|
||||||
flakeDir = "/persist/flake";
|
flakeDir = "/persist/flake";
|
||||||
wm = {
|
dev = {
|
||||||
sh = "Hyprland";
|
hdd = "/mnt/HDD";
|
||||||
bar = "hyprland";
|
ssd = "/mnt/SSD";
|
||||||
};
|
};
|
||||||
in { flake = builder.flake; }
|
in { flake = builder.flake; }
|
||||||
|
|
|
@ -1,20 +1,17 @@
|
||||||
{ config, sec, flakeDir, True, False, ... }: {
|
{ config, True, False, ... }: {
|
||||||
imports = [ ./parts ../../modules/home ];
|
imports = [ ./parts ../../modules/home ];
|
||||||
module = {
|
module = {
|
||||||
programs = { # PROGRAMS
|
programs = { # PROGRAMS
|
||||||
cli = { # CLI PROGRAMS
|
cli = { # CLI PROGRAMS
|
||||||
anicli = True;
|
|
||||||
bat = True;
|
bat = True;
|
||||||
cava = True;
|
cava = True;
|
||||||
eza = True;
|
eza = True;
|
||||||
fetch = True;
|
fetch = True;
|
||||||
fzf = True;
|
fzf = True;
|
||||||
git = True // {
|
git = True;
|
||||||
name = sec.git.name;
|
|
||||||
email = sec.git.email;
|
|
||||||
path = flakeDir;
|
|
||||||
};
|
|
||||||
helix = True;
|
helix = True;
|
||||||
|
joshuto = True;
|
||||||
|
legendary = True;
|
||||||
micro = False;
|
micro = False;
|
||||||
rmpc = False;
|
rmpc = False;
|
||||||
top = True;
|
top = True;
|
||||||
|
@ -31,20 +28,22 @@
|
||||||
thunderbird = False;
|
thunderbird = False;
|
||||||
zed = False;
|
zed = False;
|
||||||
};
|
};
|
||||||
|
custom = {
|
||||||
|
anicli = True;
|
||||||
|
mabel = False;
|
||||||
|
rustmission = True;
|
||||||
|
torque = True;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
shells = { # SHELLS
|
shells = { # SHELLS
|
||||||
alias = True;
|
|
||||||
fish = True;
|
fish = True;
|
||||||
nushell = True;
|
nushell = True;
|
||||||
tmux = False;
|
tmux = False;
|
||||||
zsh = False;
|
zsh = False;
|
||||||
starship = True;
|
starship = True;
|
||||||
var = True;
|
|
||||||
};
|
};
|
||||||
themes = { # THEMING ENV
|
themes = { # THEMING ENV
|
||||||
gtk = True // { # GTK APPS
|
gtk = True // { icon = "adwaita"; }; # GTK APPS
|
||||||
icon = "adwaita";
|
|
||||||
};
|
|
||||||
qt = True; # QT APPS
|
qt = True; # QT APPS
|
||||||
stylix = True // {
|
stylix = True // {
|
||||||
theme = "paradise";
|
theme = "paradise";
|
||||||
|
@ -72,11 +71,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
misc = { # MISC MODULES
|
misc = { # MISC MODULES
|
||||||
home-manager = True;
|
|
||||||
markdown = False;
|
|
||||||
minimal = True;
|
|
||||||
dconf = True;
|
dconf = True;
|
||||||
nix = True;
|
|
||||||
xdg = True;
|
xdg = True;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,52 +1,53 @@
|
||||||
{ pkgs, inputs, config, ... }: {
|
{ pkgs, inputs, config, ... }: {
|
||||||
imports = [ inputs.nur.hmModules.nur ];
|
imports = with inputs; [ nur.hmModules.nur ];
|
||||||
module.programs = {
|
module.programs = {
|
||||||
gui.pkgs = with pkgs; [
|
gui.pkgs = with pkgs; [
|
||||||
nemo
|
nemo # GUI FM
|
||||||
nemo-fileroller
|
nemo-fileroller # ADDON
|
||||||
file-roller
|
file-roller # ARCHIVER
|
||||||
|
|
||||||
_64gram
|
_64gram # TG GUI
|
||||||
onlyoffice-bin
|
onlyoffice-bin # OFFICE
|
||||||
qbittorrent-enhanced
|
qbittorrent-enhanced # QTORRENT
|
||||||
|
filezilla # FTP CLIENT
|
||||||
|
|
||||||
popsicle
|
popsicle # ISO WRITER
|
||||||
ventoy
|
ventoy # FUCK
|
||||||
|
|
||||||
bottles
|
bottles # LAUNCH GAMES WITHOUT STEAM
|
||||||
mindustry-wayland
|
mindustry-wayland # MINDUSTRY LETSSS GOOOOO
|
||||||
(prismlauncher.override {
|
(prismlauncher.override {
|
||||||
gamemodeSupport = true;
|
gamemodeSupport = true;
|
||||||
controllerSupport = true;
|
controllerSupport = true;
|
||||||
jdks = [ temurin-jre-bin-21 temurin-jre-bin-17 temurin-jre-bin-8 ];
|
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; [
|
cli.pkgs = with pkgs; [
|
||||||
nurl
|
nurl # FETCHER
|
||||||
nix-tree
|
nix-tree # JUST COOL
|
||||||
|
|
||||||
simple-mtpfs
|
btop # CPU RAM AND PROCESSES TOP
|
||||||
|
nvtopPackages.amd # GPU TOP
|
||||||
|
|
||||||
btop
|
trashy # TRASH
|
||||||
nvtopPackages.amd
|
tenki # CLOCK
|
||||||
|
|
||||||
trashy
|
imagemagick # CONVERT IMG
|
||||||
tenki
|
jpegoptim # LOW SIZE JPEG
|
||||||
|
optipng # LOW SIZE PNG
|
||||||
|
lutgen # COLORIZE IMG
|
||||||
|
|
||||||
imagemagick
|
wyvern # GOG
|
||||||
jpegoptim
|
tuir # REDDIT TUI
|
||||||
optipng
|
glicol-cli # WRITE MUSIC FROM TERMINAL
|
||||||
lutgen
|
|
||||||
|
|
||||||
wyvern
|
wineWow64Packages.staging # SIMPLE LAUNCHER
|
||||||
legendary-gl
|
config.nur.repos.rycee.mozilla-addons-to-nix # ADDONS TO NIX
|
||||||
eidolon
|
inputs.tgt.packages.${system}.default # TG TUI
|
||||||
|
inputs.transg.packages.${system}.default # TRANSMISSION TUI
|
||||||
wineWow64Packages.staging
|
inputs.phani.packages.${system}.qbittorrentui # QBITUI
|
||||||
config.nur.repos.rycee.mozilla-addons-to-nix
|
|
||||||
inputs.tgt.packages.${system}.default
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ pkgs, config, False, ... }:
|
{ config, False, ... }:
|
||||||
let
|
let
|
||||||
m = config.wayland.windowManager.sway.config.modifier;
|
m = config.wayland.windowManager.sway.config.modifier;
|
||||||
x = "exec";
|
x = "exec";
|
||||||
in {
|
in {
|
||||||
module.wm.sway = {
|
module.wm.sway = {
|
||||||
bars = False;
|
bars = False;
|
||||||
programs = with pkgs; {
|
programs = {
|
||||||
"${m}+b" = "${x} ${floorp}/bin/floorp";
|
"${m}+b" = "${x} floorp";
|
||||||
"${m}+v" = "${x} ${_64gram}/bin/telegram-desktop";
|
"${m}+v" = "${x} telegram-desktop";
|
||||||
"${m}+n" = "${x} ${kitty}/bin/kitty -T Explorer ${yazi}/bin/yazi";
|
"${m}+n" = "${x} kitty -T Explorer yazi";
|
||||||
"${m}+u" = "${x} ${onlyoffice-bin}/bin/onlyoffice-desktopeditors";
|
"${m}+u" = "${x} onlyoffice-desktopeditors";
|
||||||
"${m}+i" = "${x} ${libreoffice}/lib/libreoffice/program/soffice.bin";
|
"${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 = {
|
services = {
|
||||||
autocpu = False;
|
autocpu = False;
|
||||||
dbus = True;
|
dbus = True;
|
||||||
|
deluge = False;
|
||||||
getty = True;
|
getty = True;
|
||||||
gvfs = True;
|
gvfs = True;
|
||||||
polkit = True;
|
polkit = True;
|
||||||
printing = False;
|
printing = False;
|
||||||
tailscale = True;
|
tailscale = True;
|
||||||
tlp = False;
|
tlp = False;
|
||||||
|
transmission = True;
|
||||||
zram = True // { algo = "zstd"; };
|
zram = True // { algo = "zstd"; };
|
||||||
};
|
};
|
||||||
# PROGRAMS MODULES
|
# PROGRAMS MODULES
|
||||||
|
@ -29,6 +31,7 @@
|
||||||
hyprland = True;
|
hyprland = True;
|
||||||
sway = False;
|
sway = False;
|
||||||
steam = True;
|
steam = True;
|
||||||
|
hamachi = True;
|
||||||
torrserver = True;
|
torrserver = True;
|
||||||
};
|
};
|
||||||
misc = {
|
misc = {
|
||||||
|
@ -38,9 +41,9 @@
|
||||||
power = False;
|
power = False;
|
||||||
protonmail = False;
|
protonmail = False;
|
||||||
system76 = False;
|
system76 = False;
|
||||||
|
terraria = False;
|
||||||
users = True // { shell = "fish"; };
|
users = True // { shell = "fish"; };
|
||||||
variables = True;
|
variables = True;
|
||||||
zapret = False;
|
|
||||||
nix = True;
|
nix = True;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ self, inputs, hostName, userName, flakeDir, wm, ... }: {
|
{ self, inputs, hostName, userName, flakeDir, dev, ... }: {
|
||||||
flake = let
|
flake = let
|
||||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||||
sec = import ./secrets.nix;
|
sec = import ./secrets.nix;
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
# SYSINFO
|
# SYSINFO
|
||||||
stateVersion = "24.05"; # IDK
|
stateVersion = "24.05"; # IDK
|
||||||
platform = "x86_64-linux";
|
platform = "x86_64-linux";
|
||||||
inherit self inputs hostName userName flakeDir sec wm;
|
inherit self inputs hostName userName flakeDir sec dev;
|
||||||
};
|
};
|
||||||
in with inputs; {
|
in with inputs; {
|
||||||
nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem {
|
||||||
|
|
|
@ -1,4 +1,2 @@
|
||||||
{
|
{ imports = [ ./home-manager ./minimal ./xdg ./dconf.nix ./nix.nix ]; }
|
||||||
imports = [ ./home-manager ./markdown ./minimal ./xdg ./dconf.nix ./nix.nix ];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{ lib, config, userName, stateVersion ? null, True, ... }:
|
{ userName, stateVersion ? null, True, ... }: {
|
||||||
|
programs.home-manager = True;
|
||||||
with lib;
|
home = {
|
||||||
|
username = userName;
|
||||||
let cfg = config.module.misc.home-manager;
|
homeDirectory = "/home/${userName}";
|
||||||
in {
|
stateVersion = stateVersion;
|
||||||
options = { module.misc.home-manager = { enable = mkEnableOption ""; }; };
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
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, ... }:
|
{ False, ... }: {
|
||||||
|
news.display = "silent";
|
||||||
with lib;
|
programs.man = False;
|
||||||
|
manual = {
|
||||||
let cfg = config.module.misc.minimal;
|
html = False;
|
||||||
in {
|
json = False;
|
||||||
options = { module.misc.minimal = { enable = mkEnableOption ""; }; };
|
manpages = False;
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
news.display = "silent";
|
|
||||||
programs.man = False;
|
|
||||||
manual = {
|
|
||||||
html = False;
|
|
||||||
json = False;
|
|
||||||
manpages = False;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,37 +1,28 @@
|
||||||
{ pkgs, lib, config, userName, False, ... }:
|
{ pkgs, userName, False, ... }: {
|
||||||
|
nix = {
|
||||||
with lib;
|
package = pkgs.nix;
|
||||||
|
settings = {
|
||||||
let cfg = config.module.misc.nix;
|
warn-dirty = false;
|
||||||
in {
|
extra-experimental-features = [ "nix-command" "flakes" ];
|
||||||
options = { module.misc.nix = { enable = mkEnableOption ""; }; };
|
builders-use-substitutes = true;
|
||||||
|
auto-optimise-store = true;
|
||||||
config = mkIf cfg.enable {
|
extra-substituters = [
|
||||||
nix = {
|
"https://nix-gaming.cachix.org" # NIX GAMING
|
||||||
package = pkgs.nix;
|
"https://hyprland.cachix.org" # HYPRLAND
|
||||||
settings = {
|
];
|
||||||
warn-dirty = false;
|
extra-trusted-public-keys = [
|
||||||
extra-experimental-features = [ "nix-command" "flakes" ];
|
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" # NIX GAMING
|
||||||
builders-use-substitutes = true;
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND
|
||||||
auto-optimise-store = true;
|
];
|
||||||
extra-substituters = [
|
trusted-users = [ "${userName}" "@wheel" ];
|
||||||
"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;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
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;
|
with lib;
|
||||||
|
|
||||||
|
@ -14,10 +14,7 @@ in {
|
||||||
mime = True;
|
mime = True;
|
||||||
portal = True // {
|
portal = True // {
|
||||||
config.common.default = "gtk";
|
config.common.default = "gtk";
|
||||||
extraPortals = with pkgs; [
|
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
userDirs = True // {
|
userDirs = True // {
|
||||||
createDirectories = true;
|
createDirectories = true;
|
||||||
|
@ -29,6 +26,7 @@ in {
|
||||||
publicShare = "${hmdir}/";
|
publicShare = "${hmdir}/";
|
||||||
templates = "${hmdir}/";
|
templates = "${hmdir}/";
|
||||||
videos = "${hmdir}/Videos";
|
videos = "${hmdir}/Videos";
|
||||||
|
extraConfig = { XDG_FLAKE_DIR = flakeDir; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -112,6 +112,7 @@ in {
|
||||||
"x-scheme-handler/about" = "zen.${ds}";
|
"x-scheme-handler/about" = "zen.${ds}";
|
||||||
"x-scheme-handler/unknown" = "zen.${ds}";
|
"x-scheme-handler/unknown" = "zen.${ds}";
|
||||||
# OTHER
|
# OTHER
|
||||||
|
"x-scheme-handler/spotify" = "spotify.${ds}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./anicli
|
|
||||||
./bat
|
./bat
|
||||||
./cava
|
./cava
|
||||||
./eza
|
./eza
|
||||||
|
@ -8,6 +7,8 @@
|
||||||
./fzf
|
./fzf
|
||||||
./git
|
./git
|
||||||
./helix
|
./helix
|
||||||
|
./joshuto
|
||||||
|
./legendary
|
||||||
./micro
|
./micro
|
||||||
./rmpc
|
./rmpc
|
||||||
./top
|
./top
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, flakeDir, True, False, ... }:
|
{ pkgs, lib, config, sec, flakeDir, True, False, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ in {
|
||||||
options = {
|
options = {
|
||||||
module.programs.cli.git = {
|
module.programs.cli.git = {
|
||||||
enable = mkEnableOption "";
|
enable = mkEnableOption "";
|
||||||
path = mkOption {
|
|
||||||
default = null;
|
|
||||||
type = types.str;
|
|
||||||
};
|
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
@ -34,8 +30,8 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.git = True // {
|
programs.git = True // {
|
||||||
package = pkgs.gitMinimal;
|
package = pkgs.gitMinimal;
|
||||||
userName = cfg.name;
|
userName = sec.git.name;
|
||||||
userEmail = cfg.email;
|
userEmail = sec.git.email;
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
color.ui = true;
|
color.ui = true;
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
|
|
|
@ -6,7 +6,7 @@ let cfg = config.module.programs.cli.helix;
|
||||||
in {
|
in {
|
||||||
options = { module.programs.cli.helix = { enable = mkEnableOption ""; }; };
|
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 =
|
config =
|
||||||
mkIf cfg.enable { programs.helix = True // { defaultEditor = true; }; };
|
mkIf cfg.enable { programs.helix = True // { defaultEditor = true; }; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,16 +17,10 @@ in {
|
||||||
indent = indent;
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
}
|
}
|
||||||
{ # FISH LSP
|
|
||||||
name = "fish";
|
|
||||||
language-servers = [ "fish_indent" ];
|
|
||||||
inherit auto-format;
|
|
||||||
formatter.command = "${fish}/bin/fish_indent";
|
|
||||||
indent = indent;
|
|
||||||
}
|
|
||||||
{ # HTML
|
{ # HTML
|
||||||
name = "html";
|
name = "html";
|
||||||
language-servers = [ "vscode-html-language-server" ];
|
language-servers = [ "vscode-html" ];
|
||||||
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${prettier}/bin/prettier";
|
command = "${prettier}/bin/prettier";
|
||||||
|
@ -35,7 +29,8 @@ in {
|
||||||
}
|
}
|
||||||
{ # JSON
|
{ # JSON
|
||||||
name = "json";
|
name = "json";
|
||||||
language-servers = [ "vscode-json-language-server" ];
|
language-servers = [ "vscode-json" ];
|
||||||
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${prettier}/bin/prettier";
|
command = "${prettier}/bin/prettier";
|
||||||
|
@ -44,7 +39,8 @@ in {
|
||||||
}
|
}
|
||||||
{ # JSON
|
{ # JSON
|
||||||
name = "jsonc";
|
name = "jsonc";
|
||||||
language-servers = [ "vscode-json-language-server" ];
|
language-servers = [ "vscode-json" ];
|
||||||
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${prettier}/bin/prettier";
|
command = "${prettier}/bin/prettier";
|
||||||
|
@ -53,7 +49,8 @@ in {
|
||||||
}
|
}
|
||||||
{ # CSS
|
{ # CSS
|
||||||
name = "css";
|
name = "css";
|
||||||
language-servers = [ "vscode-css-language-server" ];
|
language-servers = [ "vscode-css" ];
|
||||||
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${prettier}/bin/prettier";
|
command = "${prettier}/bin/prettier";
|
||||||
|
@ -63,40 +60,62 @@ in {
|
||||||
{ # MARKDOWN
|
{ # MARKDOWN
|
||||||
name = "markdown";
|
name = "markdown";
|
||||||
language-servers = [ "marksman" ];
|
language-servers = [ "marksman" ];
|
||||||
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${prettier}/bin/prettier";
|
command = "${prettier}/bin/prettier";
|
||||||
args = [ "--use-tabs" "--parser" "markdown" ];
|
args = [ "--use-tabs" "--parser" "markdown" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{ # TYPESCRIP
|
{ # TYPESCRIPT
|
||||||
name = "typescript";
|
name = "typescript";
|
||||||
language-servers = [ "typescript" ];
|
language-servers = [ "typescript" ];
|
||||||
|
indent = indent;
|
||||||
inherit auto-format;
|
inherit auto-format;
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${prettier}/bin/prettier";
|
command = "${prettier}/bin/prettier";
|
||||||
args = [ "--use-tabs" "--parser" "typescript" ];
|
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 {
|
in {
|
||||||
nixd = { command = "${nixd}/bin/nixd"; };
|
nixd.command = "${nixd}/bin/nixd";
|
||||||
fish_indent = { command = "${fish}/bin/fish_indent"; };
|
vscode-html.command = "${vscode}/bin/vscode-html-language-server";
|
||||||
vscode-html-language-server = {
|
vscode-json.command = "${vscode}/bin/vscode-json-language-server";
|
||||||
command = "${vscode}/bin/vscode-html-language-server";
|
vscode-css.command = "${vscode}/bin/vscode-css-language-server";
|
||||||
};
|
marksman.command = "${marksman}/bin/marksman";
|
||||||
vscode-json-language-server = {
|
typescript.command = "${typescript}/bin/typescript-language-server";
|
||||||
command = "${vscode}/bin/vscode-json-language-server";
|
pyright = {
|
||||||
};
|
command = "${pyright}/bin/pyright-langserver";
|
||||||
vscode-css-language-server = {
|
args = [ "--stdio" ];
|
||||||
command = "${vscode}/bin/vscode-css-language-server";
|
config = {
|
||||||
};
|
reportMissingTypeStubs = false;
|
||||||
marksman = { command = "${marksman}/bin/marksman"; };
|
python.analysis = {
|
||||||
typescript = {
|
typeCheckingMode = "basic";
|
||||||
command =
|
autoImportCompletions = true;
|
||||||
"${typescript-language-server}/bin/typescript-language-server";
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
ruff.command = "${ruff-lsp}/bin/ruff-lsp";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraPackages = with pkgs; [
|
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;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.module.programs.cli.anicli;
|
let cfg = config.module.programs.custom.anicli;
|
||||||
in {
|
in {
|
||||||
options = { module.programs.cli.anicli = { enable = mkEnableOption ""; }; };
|
options = {
|
||||||
|
module.programs.custom.anicli = { enable = mkEnableOption ""; };
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = [ (pkgs.callPackage ./anicli-ru.nix { }) ];
|
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 {
|
in {
|
||||||
options = {
|
options = {
|
||||||
module.shells.alias = {
|
module.shells.alias = {
|
||||||
enable = mkEnableOption "";
|
|
||||||
alias = mkOption {
|
alias = mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with types; attrsOf str;
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -14,7 +13,7 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = {
|
||||||
home = { shellAliases = cfg.alias; };
|
home = { shellAliases = cfg.alias; };
|
||||||
xdg.configFile."lutgen/paradise".text =
|
xdg.configFile."lutgen/paradise".text =
|
||||||
"151515 1F1F1F 2E2E2E 424242 BBB6B6 E8E3E3 E8E3E3 E8E3E3 B66467 D9BC8C D9BC8C 8C977D 8AA6A2 8DA3B9 A988B0 BBB6B6";
|
"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;
|
with lib;
|
||||||
|
|
||||||
|
@ -8,9 +8,10 @@ let
|
||||||
in {
|
in {
|
||||||
options = { module.shells.fish = { enable = mkEnableOption ""; }; };
|
options = { module.shells.fish = { enable = mkEnableOption ""; }; };
|
||||||
|
|
||||||
imports = [ ./misc ./colors.nix ./functions.nix ./plugins.nix ];
|
imports = [ ./misc ./colors.nix ./plugins.nix ];
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.fish = True // {
|
programs.fish = True // {
|
||||||
|
package = pkgs.fish;
|
||||||
preferAbbrs = true;
|
preferAbbrs = true;
|
||||||
shellAbbrs = abbrs;
|
shellAbbrs = abbrs;
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
|
@ -38,6 +39,8 @@ in {
|
||||||
set -g tide_pwd_color_dirs blue
|
set -g tide_pwd_color_dirs blue
|
||||||
set -g tide_pwd_color_anchors blue
|
set -g tide_pwd_color_anchors blue
|
||||||
set -g tide_git_color_branch -o green
|
set -g tide_git_color_branch -o green
|
||||||
|
|
||||||
|
[ "$(tty)" = "/dev/tty1" ] && exec Hyprland # LAUNCH WM
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{ flakeDir, ... }: {
|
||||||
programs.fish.functions = {
|
programs.fish.functions = {
|
||||||
clone.body = ''
|
clone.body = ''
|
||||||
echo "cd ~/git/"
|
echo "cd ~/git/"
|
||||||
|
@ -7,16 +7,21 @@
|
||||||
'';
|
'';
|
||||||
# NIX
|
# NIX
|
||||||
rebuild.body = ''
|
rebuild.body = ''
|
||||||
git add ~/.flake/.
|
git add --all ${flakeDir}/.
|
||||||
for ARG in $argv
|
for ARG in $argv
|
||||||
if [ $ARG = home ]
|
if [ $ARG = home ]
|
||||||
command home-manager switch --flake ~/.flake
|
command nh home switch
|
||||||
return $status
|
return $status
|
||||||
else if [ $ARG = host ]
|
else if [ $ARG = host ]
|
||||||
command sudo nixos-rebuild switch --flake ~/.flake
|
command sudo nh os switch
|
||||||
return $status
|
return $status
|
||||||
else
|
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
|
||||||
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;
|
MICRO_TRUECOLOR = "1";
|
||||||
in {
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
options = { module.shells.var = { enable = mkEnableOption ""; }; };
|
RANGER_LOAD_DEFAULT_RC = "false";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
# FFF FILE MANAGER
|
||||||
home.sessionVariables = {
|
FFF_HIDDEN = "1";
|
||||||
TERM = "kitty";
|
FFF_LS_COLORS = "1";
|
||||||
TERMINAL = "kitty";
|
FFF_COL1 = "1";
|
||||||
|
FFF_COL2 = "0";
|
||||||
FILE_MANAGER = "yazi";
|
FFF_COL3 = "2";
|
||||||
|
FFF_COL4 = "6";
|
||||||
MICRO_TRUECOLOR = "1";
|
FFF_COL5 = "7";
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, True, wm, ... }:
|
{ pkgs, lib, config, True, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -66,7 +66,6 @@ in {
|
||||||
${settings.default}
|
${settings.default}
|
||||||
# BINDINGS
|
# BINDINGS
|
||||||
${builtins.readFile ./keymap}
|
${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
|
inactive_colors=#ffe8e3e3, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ffe8e3e3, #ffe8e3e3, #ffe8e3e3, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ffbbb6b6, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
"qt5ct/colors/paradise.conf".text = "${colors}";
|
"qt5ct/colors/paradise.conf".text = colors;
|
||||||
"qt6ct/colors/paradise.conf".text = "${colors}";
|
"qt6ct/colors/paradise.conf".text = colors;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,23 +40,15 @@ in {
|
||||||
True // {
|
True // {
|
||||||
autoEnable = false;
|
autoEnable = false;
|
||||||
image = "${wal}/wallpapers/paradise/${cfg.image}.jpg";
|
image = "${wal}/wallpapers/paradise/${cfg.image}.jpg";
|
||||||
cursor = let
|
cursor = with inputs.cursors; {
|
||||||
size = 24;
|
size = 16;
|
||||||
custom = with inputs.cursors; {
|
name = "GoogleDot-Custom";
|
||||||
inherit size;
|
package = packages.${pkgs.system}.google-cursor.override {
|
||||||
name = "GoogleDot-Custom";
|
background_color = cfg.cursor.bg;
|
||||||
package = packages.${pkgs.system}.google-cursor.override {
|
outline_color = cfg.cursor.ol;
|
||||||
background_color = cfg.cursor.bg;
|
accent_color = cfg.cursor.ac;
|
||||||
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
|
fonts = let
|
||||||
jet = {
|
jet = {
|
||||||
name = "JetBrainsMono NerdFont";
|
name = "JetBrainsMono NerdFont";
|
||||||
|
|
|
@ -3,8 +3,6 @@ let
|
||||||
cfg = config.module.wm.hyprland;
|
cfg = config.module.wm.hyprland;
|
||||||
mic =
|
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";
|
"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:
|
workspaces = (builtins.concatLists (builtins.genList (i:
|
||||||
let ws = i + 1;
|
let ws = i + 1;
|
||||||
in [
|
in [
|
||||||
|
@ -30,7 +28,7 @@ in {
|
||||||
"$mu" = "mouse_up";
|
"$mu" = "mouse_up";
|
||||||
"$ex" = "exec";
|
"$ex" = "exec";
|
||||||
|
|
||||||
bind = with cfg; # KEYBOARD
|
bind = # KEYBOARD
|
||||||
[ # MENU
|
[ # MENU
|
||||||
"$m, $tb, exec, ${pkgs.nwg-drawer}/bin/nwg-drawer -ovl -nocats -nofs -d -c 5 -mb -49"
|
"$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, $nx, workspace, e+1"
|
||||||
"$m, $pr, workspace, e-1"
|
"$m, $pr, workspace, e-1"
|
||||||
] ++ workspaces ++ programs;
|
] ++ workspaces ++ cfg.programs;
|
||||||
|
|
||||||
# HOLDING BUTTONS
|
# HOLDING BUTTONS
|
||||||
binde = let
|
binde = let
|
||||||
|
@ -120,8 +118,8 @@ in {
|
||||||
", XF86AudioLowerVolume, $ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
", XF86AudioLowerVolume, $ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
|
||||||
# LIGHT
|
# LIGHT
|
||||||
", XF86MonBrightnessDown, $ex, doas light -U 10"
|
", XF86MonBrightnessDown, $ex, sudo light -U 10"
|
||||||
", XF86MonBrightnessUp, $ex, doas light -A 10"
|
", XF86MonBrightnessUp, $ex, sudo light -A 10"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [ # MOUSE
|
bindm = [ # MOUSE
|
||||||
|
@ -130,14 +128,5 @@ in {
|
||||||
"$m $s, mouse:273, resizewindow 1"
|
"$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, ... }:
|
{ config, ... }: {
|
||||||
let
|
|
||||||
cl = "class:^";
|
|
||||||
tl = "title:^";
|
|
||||||
it = "initialTitle:^";
|
|
||||||
in {
|
|
||||||
wayland.windowManager.hyprland.settings = with config.lib.stylix.colors; {
|
wayland.windowManager.hyprland.settings = with config.lib.stylix.colors; {
|
||||||
windowrulev2 = [
|
layerrule = [ "noanim, notifications" ];
|
||||||
# WORKSPACE RULES
|
windowrulev2 = let
|
||||||
|
cl = "class:^";
|
||||||
|
tt = "title:^";
|
||||||
|
il = "initialClass:^";
|
||||||
|
it = "initialTitle:^";
|
||||||
|
in [
|
||||||
"workspace 2 silent, ${cl}(firefox)$"
|
"workspace 2 silent, ${cl}(firefox)$"
|
||||||
"workspace 2 silent, ${cl}(floorp)$"
|
"workspace 2 silent, ${cl}(floorp)$"
|
||||||
"workspace 2 silent, ${cl}(zen-alpha)$"
|
"workspace 2 silent, ${cl}(zen-alpha)$"
|
||||||
"workspace 3 silent, ${cl}(Spotify)$"
|
"workspace 3 silent, ${cl}(spotify)$"
|
||||||
"workspace 3 silent, ${tl}(Spotify Free)$"
|
"workspace 3 silent, ${il}(spotify)$"
|
||||||
"workspace 3 silent, ${it}(Spotify Free)$"
|
"workspace 3 silent, ${tt}(Spotify Free)$"
|
||||||
|
"workspace 3 silent, ${it}(Spotify)$"
|
||||||
"workspace 4 silent, ${cl}(com.ayugram)$"
|
"workspace 4 silent, ${cl}(com.ayugram)$"
|
||||||
"workspace 4 silent, ${cl}(io.github.tdesktop_x64.TDesktop)$"
|
"workspace 4 silent, ${cl}(io.github.tdesktop_x64.TDesktop)$"
|
||||||
"workspace 4 silent, ${cl}(vesktop)$"
|
"workspace 4 silent, ${cl}(vesktop)$"
|
||||||
"workspace 5 silent, ${cl}(obsidian)$"
|
"workspace 5 silent, ${cl}(obsidian)$"
|
||||||
"workspace 6 silent, ${cl}(anicli)$"
|
"workspace 6 silent, ${cl}(anicli)$"
|
||||||
|
"workspace 9 silent, ${cl}(org.qbittorrent.qBittorrent)$"
|
||||||
|
|
||||||
# TERMINAL RULES
|
# TERMINAL RULES
|
||||||
"float, ${cl}(termfloat)$"
|
"float, ${cl}(termfloat)$"
|
||||||
"size 650 430, ${cl}(termfloat)$"
|
|
||||||
"move center, ${cl}(termfloat)$"
|
"move center, ${cl}(termfloat)$"
|
||||||
|
"size 650 430, ${cl}(termfloat)$"
|
||||||
|
|
||||||
# FILE MANAGER
|
# FILE MANAGER
|
||||||
"float, ${cl}(tfm)$"
|
"float, ${cl}(tfm)$"
|
||||||
"size 800 350, ${cl}(tfm)$"
|
|
||||||
"move center, ${cl}(tfm)$"
|
"move center, ${cl}(tfm)$"
|
||||||
|
"size 800 350, ${cl}(tfm)$"
|
||||||
|
|
||||||
# AYUGRAM
|
# AYUGRAM
|
||||||
"minsize 540 680, ${cl}(com.ayugram)$"
|
"minsize 540 680, ${cl}(com.ayugram)$" # SELF
|
||||||
"float, ${tl}(Media viewer)$"
|
"float, ${tt}(Media viewer)$" # VIEWER
|
||||||
"noanim, ${tl}(Media viewer)$"
|
"noanim, ${tt}(Media viewer)$"
|
||||||
"fullscreen, ${tl}(Media viewer)$"
|
"fullscreen, ${tt}(Media viewer)$"
|
||||||
"size 670 540, ${tl}(Media viewer)$"
|
"size 670 540, ${tt}(Media viewer)$"
|
||||||
"float, ${tl}(Choose Files)$"
|
"float, ${tt}(Choose Files)$" # CHOOSER
|
||||||
"size 650 450, ${tl}(Choose Files)$"
|
"size 650 450, ${tt}(Choose Files)$"
|
||||||
|
|
||||||
# XDG
|
# XDG
|
||||||
"float, ${cl}(xdg-desktop-portal-gtk)$"
|
"float, ${cl}(xdg-desktop-portal-gtk)$"
|
||||||
|
@ -51,10 +53,14 @@ in {
|
||||||
"bordercolor rgb(${base08}) rgb(${base09}) 45deg, ${cl}(anicliru)$"
|
"bordercolor rgb(${base08}) rgb(${base09}) 45deg, ${cl}(anicliru)$"
|
||||||
|
|
||||||
# KOMIKKU
|
# KOMIKKU
|
||||||
"size 700 980, ${cl}(info.febvre.Komikku)$"
|
|
||||||
"pseudo, ${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;
|
with lib;
|
||||||
|
|
||||||
|
@ -12,7 +12,20 @@ in {
|
||||||
True // {
|
True // {
|
||||||
settings = {
|
settings = {
|
||||||
# BAR AT BOTTOM
|
# 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 {
|
in {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
position = "bottom";
|
position = "bottom";
|
||||||
|
@ -26,9 +39,9 @@ in {
|
||||||
"custom/separatorL"
|
"custom/separatorL"
|
||||||
"network"
|
"network"
|
||||||
"custom/separatorL"
|
"custom/separatorL"
|
||||||
"${wm.bar}/language"
|
"hyprland/language"
|
||||||
];
|
];
|
||||||
modules-center = [ "${wm.bar}/workspaces" ];
|
modules-center = [ "hyprland/workspaces" ];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"tray"
|
"tray"
|
||||||
"custom/separatorR"
|
"custom/separatorR"
|
||||||
|
@ -40,18 +53,15 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
# LEFT MODULES
|
# LEFT MODULES
|
||||||
"custom/launcher" = {
|
"custom/launcher" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "<span color='#${base0C}' font='17'></span> {}";
|
format = "<span color='#${base0C}' font='17'></span> {}";
|
||||||
on-click = "nwg-drawer -ovl -nocats -nofs -d -c 7 -mb -49";
|
on-click = "nwg-drawer -ovl -nocats -nofs -d -c 7 -mb -49";
|
||||||
};
|
};
|
||||||
"custom/separatorL" = {
|
"custom/separatorL" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "|";
|
format = "|";
|
||||||
interval = 1;
|
interval = 1;
|
||||||
};
|
};
|
||||||
"pulseaudio" = {
|
"pulseaudio" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
default = [ "" " " " " ];
|
default = [ "" " " " " ];
|
||||||
|
@ -63,16 +73,14 @@ in {
|
||||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
};
|
};
|
||||||
"backlight" = {
|
"backlight" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
device = "intel_backlight";
|
device = "intel_backlight";
|
||||||
format = "{icon}{percent}%";
|
format = "{icon}{percent}%";
|
||||||
format-icons =
|
format-icons =
|
||||||
[ " " " " " " " " " " " " " " " " " " " " ];
|
[ " " " " " " " " " " " " " " " " " " " " ];
|
||||||
scroll-step = 1;
|
scroll-step = 1;
|
||||||
};
|
};
|
||||||
"network" = {
|
"network" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format-icons = [ "" "" "" "" "" ];
|
format-icons = [ "" "" "" "" "" ];
|
||||||
format-wifi = "{icon} CON";
|
format-wifi = "{icon} CON";
|
||||||
format-ethernet = " ETH";
|
format-ethernet = " ETH";
|
||||||
|
@ -80,15 +88,13 @@ in {
|
||||||
on-click = "kitty nmtui";
|
on-click = "kitty nmtui";
|
||||||
interval = 5;
|
interval = 5;
|
||||||
};
|
};
|
||||||
"${wm.bar}/language" = {
|
"hyprland/language" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = " {}";
|
format = " {}";
|
||||||
format-en = "EN";
|
format-en = "EN";
|
||||||
format-ru = "RU";
|
format-ru = "RU";
|
||||||
keyboard-name = "at-translated-set-2-keyboard";
|
keyboard-name = "at-translated-set-2-keyboard";
|
||||||
};
|
};
|
||||||
"cava" = {
|
"cava" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
framerate = 24;
|
framerate = 24;
|
||||||
autosens = 1;
|
autosens = 1;
|
||||||
bars = 12;
|
bars = 12;
|
||||||
|
@ -98,42 +104,18 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
# CENTER MODULES
|
# CENTER MODULES
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
disable-scroll = false;
|
disable-scroll = false;
|
||||||
on-click = "activate";
|
on-click = "activate";
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = wm_icons;
|
||||||
"1" = "一";
|
|
||||||
"2" = "二";
|
|
||||||
"3" = "三";
|
|
||||||
"4" = "四";
|
|
||||||
"5" = "五";
|
|
||||||
"6" = "六";
|
|
||||||
"7" = "七";
|
|
||||||
"8" = "八";
|
|
||||||
"9" = "九";
|
|
||||||
"10" = "十";
|
|
||||||
};
|
|
||||||
persistent-workspaces = { "*" = [ 1 2 3 4 5 6 7 8 9 10 ]; };
|
persistent-workspaces = { "*" = [ 1 2 3 4 5 6 7 8 9 10 ]; };
|
||||||
};
|
};
|
||||||
"sway/workspaces" = {
|
"sway/workspaces" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
disable-scroll = false;
|
disable-scroll = false;
|
||||||
on-click = "activate";
|
on-click = "activate";
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = wm_icons;
|
||||||
"1" = "一";
|
|
||||||
"2" = "二";
|
|
||||||
"3" = "三";
|
|
||||||
"4" = "四";
|
|
||||||
"5" = "五";
|
|
||||||
"6" = "六";
|
|
||||||
"7" = "七";
|
|
||||||
"8" = "八";
|
|
||||||
"9" = "九";
|
|
||||||
"10" = "十";
|
|
||||||
};
|
|
||||||
persistent-workspaces = {
|
persistent-workspaces = {
|
||||||
"1" = [ ];
|
"1" = [ ];
|
||||||
"2" = [ ];
|
"2" = [ ];
|
||||||
|
@ -146,31 +128,26 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
# RIGHT MODULES
|
# RIGHT MODULES
|
||||||
"custom/separatorR" = {
|
"custom/separatorR" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "|";
|
format = "|";
|
||||||
interval = 1;
|
interval = 1;
|
||||||
};
|
};
|
||||||
"tray" = {
|
"tray" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
icon-size = 18;
|
icon-size = 18;
|
||||||
show-passive-items = true;
|
show-passive-items = true;
|
||||||
spacing = 8;
|
spacing = 8;
|
||||||
};
|
};
|
||||||
"disk" = {
|
"disk" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "{used} of {total} ";
|
format = "{used} of {total} ";
|
||||||
interval = 30;
|
interval = 30;
|
||||||
path = "/";
|
path = "/";
|
||||||
unit = "GB";
|
unit = "GB";
|
||||||
};
|
};
|
||||||
"clock#time" = {
|
"clock#time" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "{:%H:%M} ";
|
format = "{:%H:%M} ";
|
||||||
interval = 1;
|
interval = 1;
|
||||||
};
|
};
|
||||||
"battery" = {
|
"battery" = Tool // {
|
||||||
inherit tooltip;
|
|
||||||
format = "{capacity}% {icon}";
|
format = "{capacity}% {icon}";
|
||||||
format-alt = "{time} {icon}";
|
format-alt = "{time} {icon}";
|
||||||
format-charging = "{capacity}% ";
|
format-charging = "{capacity}% ";
|
||||||
|
|
|
@ -19,13 +19,12 @@ in {
|
||||||
|
|
||||||
imports = [ ./binds.nix ./sets.nix ];
|
imports = [ ./binds.nix ./sets.nix ];
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
wayland.windowManager.sway = with pkgs;
|
wayland.windowManager.sway = True // {
|
||||||
True // {
|
package = pkgs.swayfx;
|
||||||
package = swayfx;
|
checkConfig = false;
|
||||||
checkConfig = false;
|
xwayland = true;
|
||||||
xwayland = true;
|
systemd = True;
|
||||||
systemd = True;
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, True, ... }:
|
{ lib, config, True, False, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ in {
|
||||||
initrd = True;
|
initrd = True;
|
||||||
amdvlk = True // {
|
amdvlk = True // {
|
||||||
support32Bit = True;
|
support32Bit = True;
|
||||||
supportExperimental = True;
|
supportExperimental = False;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cpu.amd = { # OPTIMIZATION FOR CPU
|
cpu.amd = { # OPTIMIZATION FOR CPU
|
||||||
|
|
|
@ -14,8 +14,9 @@ in {
|
||||||
];
|
];
|
||||||
networking = { # FOR NETWORK
|
networking = { # FOR NETWORK
|
||||||
hostName = hostName;
|
hostName = hostName;
|
||||||
|
nameservers = [ "::1" "127.0.0.1" "1.1.1.1" "1.0.0.1" ];
|
||||||
|
resolvconf.dnsSingleRequest = true;
|
||||||
networkmanager = True // {
|
networkmanager = True // {
|
||||||
insertNameservers = [ "1.1.1.1" "1.0.0.1" ];
|
|
||||||
dns = "systemd-resolved";
|
dns = "systemd-resolved";
|
||||||
wifi = {
|
wifi = {
|
||||||
powersave = true;
|
powersave = true;
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
./power
|
./power
|
||||||
./protonmail
|
./protonmail
|
||||||
./system76
|
./system76
|
||||||
|
./terraria
|
||||||
./users
|
./users
|
||||||
./variables
|
./variables
|
||||||
./zapret
|
|
||||||
./nix.nix
|
./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;
|
with lib;
|
||||||
|
|
||||||
let
|
let cfg = config.module.misc.users;
|
||||||
cfg = config.module.misc.users;
|
|
||||||
grp = [ "video" "audio" "networkmanager" "wheel" "docker" "libvirtd" ];
|
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
module.misc.users = {
|
module.misc.users = {
|
||||||
|
@ -18,18 +16,35 @@ in {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.${cfg.shell} = True;
|
programs.${cfg.shell} = True;
|
||||||
environment.loginShellInit = ''
|
users = let
|
||||||
[ "$(tty)" = "/dev/tty1" ] && exec ${wm.sh} # LAUNCH WM
|
grp = [
|
||||||
'';
|
"video"
|
||||||
users = { # USERS SETS
|
"audio"
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"docker"
|
||||||
|
"libvirtd"
|
||||||
|
"terraria"
|
||||||
|
"transmission"
|
||||||
|
];
|
||||||
|
in { # USERS SETS
|
||||||
defaultUserShell = pkgs.${cfg.shell};
|
defaultUserShell = pkgs.${cfg.shell};
|
||||||
groups.${userName} = { };
|
groups = {
|
||||||
users.${userName} = {
|
${userName} = { };
|
||||||
uid = 1000;
|
tpws = { };
|
||||||
home = "/home/${userName}";
|
};
|
||||||
createHome = true;
|
users = {
|
||||||
isNormalUser = true;
|
${userName} = {
|
||||||
extraGroups = grp;
|
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 "";
|
sway.enable = mkEnableOption "";
|
||||||
steam.enable = mkEnableOption "";
|
steam.enable = mkEnableOption "";
|
||||||
torrserver.enable = mkEnableOption "";
|
torrserver.enable = mkEnableOption "";
|
||||||
|
hamachi.enable = mkEnableOption "";
|
||||||
pkgs = mkOption {
|
pkgs = mkOption {
|
||||||
type = types.listOf types.package;
|
type = types.listOf types.package;
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -27,12 +28,12 @@ in {
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
light = True;
|
light = True;
|
||||||
|
nano = False;
|
||||||
git = True // { package = pkgs.gitMinimal; };
|
git = True // { package = pkgs.gitMinimal; };
|
||||||
nh = True // {
|
nh = True // {
|
||||||
flake = flakeDir;
|
flake = flakeDir;
|
||||||
clean = True // { extraArgs = "--keep-since 3d --keep 3"; };
|
clean = True // { extraArgs = "--keep-since 3d --keep 3"; };
|
||||||
};
|
};
|
||||||
nano = False;
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf cfg.hyprland.enable {
|
(mkIf cfg.hyprland.enable {
|
||||||
|
@ -49,10 +50,14 @@ in {
|
||||||
programs = { sway = True // { package = pkgs.swayfx; }; };
|
programs = { sway = True // { package = pkgs.swayfx; }; };
|
||||||
})
|
})
|
||||||
(mkIf cfg.steam.enable {
|
(mkIf cfg.steam.enable {
|
||||||
|
environment.systemPackages = with pkgs; [ protonup-qt ];
|
||||||
hardware.xone = True;
|
hardware.xone = True;
|
||||||
programs = {
|
programs = {
|
||||||
gamescope = True;
|
gamescope = True;
|
||||||
|
gamemode = True;
|
||||||
steam = True // { # GAMING
|
steam = True // { # GAMING
|
||||||
|
gamescopeSession = True;
|
||||||
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||||
package = pkgs.steam.override {
|
package = pkgs.steam.override {
|
||||||
extraEnv = {
|
extraEnv = {
|
||||||
MANGOHUD = true;
|
MANGOHUD = true;
|
||||||
|
@ -60,10 +65,10 @@ in {
|
||||||
RADV_TEX_ANISO = 16;
|
RADV_TEX_ANISO = 16;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
(mkIf cfg.hamachi.enable { programs.haguichi = True; })
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,14 @@
|
||||||
imports = [
|
imports = [
|
||||||
./autocpu
|
./autocpu
|
||||||
./dbus
|
./dbus
|
||||||
|
./deluge
|
||||||
./getty
|
./getty
|
||||||
./gvfs
|
./gvfs
|
||||||
./polkit
|
./polkit
|
||||||
./printing
|
./printing
|
||||||
./tailscale
|
./tailscale
|
||||||
./tlp
|
./tlp
|
||||||
|
./transmission
|
||||||
./zram
|
./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 {
|
config = mkIf cfg.enable {
|
||||||
security.polkit = True;
|
security.polkit = True;
|
||||||
# systemd = {
|
environment.systemPackages = [ pkgs.soteria ];
|
||||||
# user.services.polkitGui = {
|
systemd.user.services.polkit-soteria = {
|
||||||
# wantedBy = [ "graphical-session.target" ];
|
wantedBy = [ "graphical-session.target" ];
|
||||||
# wants = [ "graphical-session.target" ];
|
wants = [ "graphical-session.target" ];
|
||||||
# after = [ "graphical-session.target" ];
|
after = [ "graphical-session.target" ];
|
||||||
# serviceConfig = {
|
script = lib.getExe pkgs.soteria;
|
||||||
# Type = "simple";
|
serviceConfig = {
|
||||||
# ExecStart = "${pkgs.soteria}/bin/soteria";
|
Type = "simple";
|
||||||
# Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
# RestartSec = 1;
|
RestartSec = 1;
|
||||||
# TimeoutStopSec = 10;
|
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