mirror of
https://git.sr.ht/~neverness/ultima
synced 2025-04-12 09:12:25 +00:00
zarplata priletela ebat
This commit is contained in:
parent
b5e6c4c991
commit
2ecb1a9078
25 changed files with 458 additions and 357 deletions
default.nixflake.lockflake.nix
machines/jetpure/home/modules
modules
home
programs/gui/telegram
shells/fish
wm
nixos
pkgs
anicliru
beatprints
fish-helix
xlib/builder/options
41
default.nix
41
default.nix
|
@ -1,41 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "spotify-to-ytmusic";
|
||||
version = "0.7.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sigma67";
|
||||
repo = "spotify_to_ytmusic";
|
||||
rev = version;
|
||||
hash = "sha256-LGvdh1ifd9/9M79Eakr/GRGs9devFDh1mEjpwoXt+EY=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
python3.pkgs.setuptools
|
||||
python3.pkgs.setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
platformdirs
|
||||
spotipy
|
||||
ytmusicapi
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"spotify_to_ytmusic"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Clone a Spotify playlist to YouTube Music";
|
||||
homepage = "https://github.com/sigma67/spotify_to_ytmusic";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "spotify-to-ytmusic";
|
||||
};
|
||||
}
|
88
flake.lock
generated
88
flake.lock
generated
|
@ -84,6 +84,31 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixpkgs-stable"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742863891,
|
||||
"narHash": "sha256-/mGCIxO7zlWCHOZLaOMRoJgSLpIav0PBKWG3BQddElw=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "366999efebcad2165f472ef93e9c996693bda75d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"cursors": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -141,6 +166,22 @@
|
|||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1717312683,
|
||||
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
|
@ -154,7 +195,7 @@
|
|||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake-compat_3": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
|
@ -466,7 +507,7 @@
|
|||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixpkgs"
|
||||
"nixpkgs-stable"
|
||||
],
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
|
@ -520,7 +561,7 @@
|
|||
},
|
||||
"nixcord": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
|
@ -572,6 +613,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1742751704,
|
||||
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1742422364,
|
||||
|
@ -652,6 +709,7 @@
|
|||
"root": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"cosmic": "cosmic",
|
||||
"cursors": "cursors",
|
||||
"disko": "disko",
|
||||
"flatpak": "flatpak",
|
||||
|
@ -662,6 +720,7 @@
|
|||
"niri": "niri",
|
||||
"nixcord": "nixcord",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nur": "nur",
|
||||
"spicetify": "spicetify",
|
||||
"stylix": "stylix",
|
||||
|
@ -669,6 +728,27 @@
|
|||
"yt-x": "yt-x"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"cosmic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742437918,
|
||||
"narHash": "sha256-Vflb6KJVDikFcM9E231mRN88uk4+jo7BWtaaQMifthI=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "f03085549609e49c7bcbbee86a1949057d087199",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"spicetify": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -697,7 +777,7 @@
|
|||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
|
|
11
flake.nix
11
flake.nix
|
@ -12,6 +12,8 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
flatpak.url = "github:gmodena/nix-flatpak";
|
||||
|
@ -33,11 +35,18 @@
|
|||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
cosmic = {
|
||||
url = "github:lilyinstarlight/nixos-cosmic";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
nixpkgs-stable.follows = "nixpkgs-stable";
|
||||
};
|
||||
};
|
||||
niri = {
|
||||
url = "github:sodiboo/niri-flake";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
nixpkgs-stable.follows = "nixpkgs";
|
||||
nixpkgs-stable.follows = "nixpkgs-stable";
|
||||
};
|
||||
};
|
||||
yt-x = {
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
tg = config.module.programs.gui.telegram.package;
|
||||
# regex
|
||||
mk =
|
||||
mod: sub: key: cmd:
|
||||
|
@ -19,21 +12,18 @@ in
|
|||
module.wm.hyprland = {
|
||||
autostart = [ "mako" ];
|
||||
binds = [
|
||||
# menus
|
||||
(m "$tb" "tofi-drun | xargs hyprctl dispatch exec -- ")
|
||||
(s "$tb" "wlogout -sc 12 -r 12")
|
||||
|
||||
# programs
|
||||
(m "$rt" "kitty")
|
||||
(s "$rt" "kitty --class=termfloat")
|
||||
|
||||
(m "V" (if (tg == pkgs.ayugram-desktop) then "ayugram-desktop" else "telegram-desktop"))
|
||||
(m "$tb" "tofi-drun | xargs hyprctl dispatch exec -- ")
|
||||
|
||||
(m "V" "telegram-desktop")
|
||||
(s "V" "vesktop")
|
||||
|
||||
(m "B" "qutebrowser")
|
||||
(s "B" "keepassxc")
|
||||
|
||||
(m "N" "yazi")
|
||||
(m "N" "kitty yazi")
|
||||
(s "N" "kitty --class=termfloat yazi")
|
||||
|
||||
(m "M" "spotify")
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
xdg = {
|
||||
dataFile = {
|
||||
"bottles/data.yml".text = lib.x.toGen "toYAML" {
|
||||
custom_bottles_path = "/mnt/HDD/Bottles";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (builtins) toJSON;
|
||||
cfg = config.module.programs.gui.telegram;
|
||||
pack = cfg.package == (pkgs._64gram);
|
||||
client =
|
||||
if cfg.package == (pkgs._64gram) then
|
||||
"64Gram"
|
||||
|
|
|
@ -15,17 +15,22 @@ in
|
|||
options = {
|
||||
module.programs.gui.telegram = {
|
||||
enable = mkBool false;
|
||||
package = mkPkg pkgs.ayugram-desktop;
|
||||
package = mkPkg pkgs._64gram;
|
||||
walogram.mode = mkStr "solid"; # solid | background
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
home.packages =
|
||||
[ cfg.package ]
|
||||
++ (optional (cfg.package == pkgs.ayugram-desktop) (
|
||||
pkgs.writeShellScriptBin "telegram-desktop" ''
|
||||
ayugram-desktop
|
||||
''
|
||||
));
|
||||
xdg.dataFile = import ./configs.nix {
|
||||
inherit
|
||||
pkgs
|
||||
lib
|
||||
config
|
||||
;
|
||||
};
|
||||
|
@ -40,10 +45,7 @@ in
|
|||
in
|
||||
mkIf (cfg.package != null) {
|
||||
telegramTheme =
|
||||
hm.dag.entryAfter
|
||||
[
|
||||
""
|
||||
]
|
||||
hm.dag.entryAfter [ "" ]
|
||||
# sh
|
||||
''
|
||||
run ${getExe walogram}
|
||||
|
|
|
@ -19,7 +19,10 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ grc ];
|
||||
home.packages = with pkgs; [
|
||||
fish-helix
|
||||
grc
|
||||
];
|
||||
programs = {
|
||||
# nix-index.enableFishIntegration = true;
|
||||
fish = on // {
|
||||
|
@ -30,13 +33,18 @@ in
|
|||
pkgs
|
||||
;
|
||||
};
|
||||
interactiveShellInit = import ./colors.nix;
|
||||
interactiveShellInit =
|
||||
(import ./colors.nix)
|
||||
+ ''
|
||||
fish_vi_key_bindings
|
||||
fish_helix_key_bindings
|
||||
'';
|
||||
shellInitLast =
|
||||
let
|
||||
winman =
|
||||
if x.sys.is == "desktop" then
|
||||
if (x.sys.is == "desktop") then
|
||||
"Hyprland"
|
||||
else if x.sys.is == "laptop" then
|
||||
else if (x.sys.is == "laptop") then
|
||||
"Hyprland"
|
||||
else
|
||||
"fastfetch";
|
||||
|
|
|
@ -3,31 +3,24 @@
|
|||
...
|
||||
}:
|
||||
|
||||
with pkgs.fishPlugins;
|
||||
let
|
||||
mk = n: p: {
|
||||
name = n;
|
||||
src = p.src;
|
||||
};
|
||||
cu = name: src: {
|
||||
inherit name src;
|
||||
};
|
||||
in
|
||||
|
||||
[
|
||||
{
|
||||
name = "grc";
|
||||
src = grc.src;
|
||||
}
|
||||
{
|
||||
name = "autopair";
|
||||
src = autopair.src;
|
||||
}
|
||||
{
|
||||
name = "fzf-fish";
|
||||
src = fzf-fish.src;
|
||||
}
|
||||
{
|
||||
name = "git-abbr";
|
||||
src = git-abbr.src;
|
||||
}
|
||||
{
|
||||
name = "puffer";
|
||||
src = puffer.src;
|
||||
}
|
||||
{
|
||||
name = "colored-man-pages";
|
||||
src = colored-man-pages.src;
|
||||
}
|
||||
]
|
||||
(with pkgs.fishPlugins; [
|
||||
(mk "colored-man-pages" colored-man-pages)
|
||||
(mk "autopair-fish" autopair-fish)
|
||||
(mk "fzf-fish" fzf-fish)
|
||||
(mk "git-abbr" git-abbr)
|
||||
(mk "puffer" puffer)
|
||||
(mk "grc" grc)
|
||||
])
|
||||
++ (with pkgs; [
|
||||
(cu "fish-helix" fish-helix)
|
||||
])
|
||||
|
|
|
@ -82,7 +82,7 @@ in
|
|||
# screenshot
|
||||
(mk null null "$PR, exec, ${getExe grimblast} copysave area ${pic}")
|
||||
(mk null "$s" "$PR, exec, ${getExe grimblast} copysave output ${pic}")
|
||||
] # modules
|
||||
]
|
||||
++ cfg.binds
|
||||
++ x.wm.workspaces;
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ with lib;
|
|||
with x;
|
||||
let
|
||||
cfg = config.module.wm.misc.waybar;
|
||||
inherit (config.lib.stylix.colors) base0C;
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -25,159 +24,10 @@ in
|
|||
config
|
||||
;
|
||||
};
|
||||
settings = {
|
||||
mainBar =
|
||||
let
|
||||
Tool.tooltip = false;
|
||||
ico = import ./icons.nix;
|
||||
wm_icons = ico.wm;
|
||||
bat_icons = ico.bat;
|
||||
light_icons = ico.light;
|
||||
in
|
||||
{
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
height = 1;
|
||||
modules-left = [
|
||||
"custom/separator"
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"custom/separator"
|
||||
"backlight"
|
||||
"custom/separator"
|
||||
"network"
|
||||
"custom/separator"
|
||||
];
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-right = [
|
||||
"custom/separator"
|
||||
"tray"
|
||||
"custom/separator"
|
||||
"hyprland/language"
|
||||
"custom/separator"
|
||||
"clock#date"
|
||||
"custom/separator"
|
||||
"clock#time"
|
||||
"custom/separator"
|
||||
"battery"
|
||||
"custom/separator"
|
||||
];
|
||||
"custom/separator" = Tool // {
|
||||
format = " ";
|
||||
};
|
||||
|
||||
# left modules
|
||||
"custom/launcher" = Tool // {
|
||||
format = "<span color='#${base0C}' font='17'></span> {}";
|
||||
on-click = ''tofi-drun -c ~/.config/tofi/horizontal | xargs hyprctl dispatch exec -- '';
|
||||
on-click-right = "tofi-drun | xargs hyprctl dispatch exec -- ";
|
||||
};
|
||||
"pulseaudio" = Tool // {
|
||||
format = "{icon} {volume}%";
|
||||
format-icons = {
|
||||
default = [
|
||||
""
|
||||
" "
|
||||
" "
|
||||
];
|
||||
headphone = [ "" ];
|
||||
headset = [ "" ];
|
||||
};
|
||||
format-muted = " muted";
|
||||
scroll-step = 3;
|
||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"backlight" = Tool // {
|
||||
device = "intel_backlight";
|
||||
format = "{icon} {percent}%";
|
||||
format-icons = light_icons;
|
||||
scroll-step = 1;
|
||||
on-click = ''light -S 70'';
|
||||
on-click-right = ''light -S 100'';
|
||||
};
|
||||
"network" = Tool // {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-wifi = "{icon} CON";
|
||||
format-ethernet = " ETH";
|
||||
format-disconnected = " ERR";
|
||||
on-click = "kitty nmtui";
|
||||
interval = 5;
|
||||
};
|
||||
|
||||
# center modules
|
||||
"hyprland/workspaces" = Tool // {
|
||||
disable-scroll = false;
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = wm_icons;
|
||||
persistent-workspaces."*" = [
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
];
|
||||
};
|
||||
"sway/workspaces" = Tool // {
|
||||
disable-scroll = false;
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = wm_icons;
|
||||
persistent-workspaces = {
|
||||
"1" = [ ];
|
||||
"2" = [ ];
|
||||
"3" = [ ];
|
||||
"4" = [ ];
|
||||
"5" = [ ];
|
||||
"6" = [ ];
|
||||
"7" = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
# right modules
|
||||
"tray" = Tool // {
|
||||
icon-size = 18;
|
||||
show-passive-items = true;
|
||||
spacing = 8;
|
||||
};
|
||||
"hyprland/language" = Tool // rec {
|
||||
format = "{} ";
|
||||
format-en = "EN";
|
||||
format-ru = "RU";
|
||||
keyboard-name = "at-translated-set-2-keyboard";
|
||||
on-click = "hyprctl switchxkblayout ${keyboard-name} next";
|
||||
};
|
||||
"clock#date" = Tool // {
|
||||
format = "{:%d.%m} ";
|
||||
interval = 1;
|
||||
};
|
||||
"clock#time" = Tool // {
|
||||
format = "{:%H:%M} ";
|
||||
interval = 1;
|
||||
};
|
||||
"battery" = Tool // {
|
||||
format = "{capacity}% {icon}";
|
||||
format-alt = "{time} {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
format-charging-alt = "{capacity}% ";
|
||||
format-full = "{capacity}% ";
|
||||
format-icons = bat_icons;
|
||||
states = {
|
||||
critical = 15;
|
||||
warning = 30;
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = import ./settings.nix {
|
||||
inherit
|
||||
config
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
156
modules/home/wm/misc/waybar/settings.nix
Normal file
156
modules/home/wm/misc/waybar/settings.nix
Normal file
|
@ -0,0 +1,156 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
mainBar =
|
||||
let
|
||||
mkTooltip.tooltip = false;
|
||||
ico = import ./icons.nix;
|
||||
in
|
||||
{
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
height = 1;
|
||||
modules-left = [
|
||||
"custom/separator"
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"custom/separator"
|
||||
"backlight"
|
||||
"custom/separator"
|
||||
"network"
|
||||
"custom/separator"
|
||||
];
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-right = [
|
||||
"custom/separator"
|
||||
"tray"
|
||||
"custom/separator"
|
||||
"hyprland/language"
|
||||
"custom/separator"
|
||||
"clock#date"
|
||||
"custom/separator"
|
||||
"clock#time"
|
||||
"custom/separator"
|
||||
"battery"
|
||||
"custom/separator"
|
||||
];
|
||||
"custom/separator" = mkTooltip // {
|
||||
format = " ";
|
||||
};
|
||||
|
||||
# left modules
|
||||
"custom/launcher" = mkTooltip // {
|
||||
format = "<span color='${config.lib.stylix.colors.withHashtag.base0C}' font='17'></span> {}";
|
||||
on-click = ''tofi-drun -c ~/.config/tofi/horizontal | xargs hyprctl dispatch exec -- '';
|
||||
on-click-right = "tofi-drun | xargs hyprctl dispatch exec -- ";
|
||||
};
|
||||
"pulseaudio" = mkTooltip // {
|
||||
format = "{icon} {volume}%";
|
||||
format-icons = {
|
||||
default = [
|
||||
""
|
||||
" "
|
||||
" "
|
||||
];
|
||||
headphone = [ "" ];
|
||||
headset = [ "" ];
|
||||
};
|
||||
format-muted = " muted";
|
||||
scroll-step = 3;
|
||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"backlight" = mkTooltip // {
|
||||
device = "intel_backlight";
|
||||
format = "{icon} {percent}%";
|
||||
format-icons = ico.light;
|
||||
scroll-step = 1;
|
||||
on-click = ''light -S 70'';
|
||||
on-click-right = ''light -S 100'';
|
||||
};
|
||||
"network" = mkTooltip // {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-wifi = "{icon} CON";
|
||||
format-ethernet = " ETH";
|
||||
format-disconnected = " ERR";
|
||||
on-click = "kitty nmtui";
|
||||
interval = 5;
|
||||
};
|
||||
|
||||
# center modules
|
||||
"hyprland/workspaces" = mkTooltip // {
|
||||
disable-scroll = false;
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = ico.wm;
|
||||
persistent-workspaces."*" = [
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
];
|
||||
};
|
||||
"sway/workspaces" = mkTooltip // {
|
||||
disable-scroll = false;
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = ico.wm;
|
||||
persistent-workspaces = {
|
||||
"1" = [ ];
|
||||
"2" = [ ];
|
||||
"3" = [ ];
|
||||
"4" = [ ];
|
||||
"5" = [ ];
|
||||
"6" = [ ];
|
||||
"7" = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
# right modules
|
||||
"tray" = mkTooltip // {
|
||||
icon-size = 18;
|
||||
show-passive-items = true;
|
||||
spacing = 8;
|
||||
};
|
||||
"hyprland/language" = mkTooltip // rec {
|
||||
format = "{} ";
|
||||
format-en = "EN";
|
||||
format-ru = "RU";
|
||||
keyboard-name = "at-translated-set-2-keyboard";
|
||||
on-click = "hyprctl switchxkblayout ${keyboard-name} next";
|
||||
};
|
||||
"clock#date" = mkTooltip // {
|
||||
format = "{:%d.%m} ";
|
||||
interval = 1;
|
||||
};
|
||||
"clock#time" = mkTooltip // {
|
||||
format = "{:%H:%M} ";
|
||||
interval = 1;
|
||||
};
|
||||
"battery" = mkTooltip // {
|
||||
format = "{capacity}% {icon}";
|
||||
format-alt = "{time} {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
format-charging-alt = "{capacity}% ";
|
||||
format-full = "{capacity}% ";
|
||||
format-icons = ico.bat;
|
||||
states = {
|
||||
critical = 15;
|
||||
warning = 30;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
25
modules/nixos/programs/cosmic/default.nix
Normal file
25
modules/nixos/programs/cosmic/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
with x;
|
||||
let
|
||||
cfg = config.module.programs.cosmic;
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
module.programs.cosmic = {
|
||||
enable = mkBool false;
|
||||
};
|
||||
};
|
||||
|
||||
imports = with inputs; [ cosmic.nixosModules.default ];
|
||||
config = mkIf cfg.enable {
|
||||
services.desktopManager.cosmic = on;
|
||||
};
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
with lib;
|
||||
with x;
|
||||
let
|
||||
inherit (pkgs) protonup-qt proton-ge-bin steam;
|
||||
inherit (pkgs) protonup proton-ge-bin steam;
|
||||
cfg = config.module.programs.steam;
|
||||
in
|
||||
|
||||
|
@ -20,8 +20,12 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ protonup-qt ];
|
||||
hardware.xone = on;
|
||||
programs.fish.shellAbbrs = {
|
||||
protonUpdate = "${getExe protonup} -y";
|
||||
protonRemove = "${getExe protonup} -r";
|
||||
protonList = "${getExe protonup} -l";
|
||||
};
|
||||
programs = {
|
||||
gamescope = on;
|
||||
gamemode = on;
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
''
|
||||
{"id":"language","data":"auto","_id":"xNgKa1J9gLpQTit3"}
|
||||
{"id":"torrentListViewSize","data":"expanded","_id":"HSVzDhazHPsgDdWA"}
|
||||
{"id":"UITagSelectorMode","data":null,"_id":"nNIKiOdMCg74WWCu"}
|
||||
{"id":"torrentListColumns","data":[{"id":"name","visible":true},{"id":"percentComplete","visible":true},{"id":"downTotal","visible":true},{"id":"downRate","visible":true},{"id":"upTotal","visible":false},{"id":"upRate","visible":true},{"id":"eta","visible":true},{"id":"ratio","visible":true},{"id":"sizeBytes","visible":true},{"id":"peers","visible":false},{"id":"seeds","visible":false},{"id":"dateAdded","visible":false},{"id":"dateCreated","visible":false},{"id":"dateFinished","visible":false},{"id":"directory","visible":false},{"id":"hash","visible":false},{"id":"isPrivate","visible":false},{"id":"message","visible":false},{"id":"trackerURIs","visible":false},{"id":"tags","visible":false}],"_id":"31hPqfuB61JtgHoh"}
|
||||
{"id":"torrentContextMenuActions","data":[{"id":"start","visible":true},{"id":"stop","visible":true},{"id":"remove","visible":true},{"id":"checkHash","visible":true},{"id":"reannounce","visible":true},{"id":"setTaxonomy","visible":true},{"id":"move","visible":true},{"id":"setTrackers","visible":false},{"id":"torrentDetails","visible":true},{"id":"downloadContents","visible":true},{"id":"downloadMetainfo","visible":true},{"id":"generateMagnet","visible":true},{"id":"setInitialSeeding","visible":false},{"id":"setSequential","visible":false},{"id":"setPriority","visible":true}],"_id":"YXGLh2Fnq8KAKPg0"}
|
||||
{"id":"language","data":"auto","_id":"xNgKa1J9gLpQTit3"}
|
||||
''
|
|
@ -30,51 +30,24 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd = {
|
||||
tmpfiles.settings = {
|
||||
flood =
|
||||
let
|
||||
text = import ./db.nix;
|
||||
base = {
|
||||
inherit (cfg)
|
||||
user
|
||||
group
|
||||
mode
|
||||
;
|
||||
};
|
||||
in
|
||||
{
|
||||
"${cfg.dir}/db/_config/settings/settings.db"."L+" = base // {
|
||||
argument = "${pkgs.writeText "settings.db" text}";
|
||||
};
|
||||
};
|
||||
};
|
||||
services.flood = {
|
||||
after = [
|
||||
"network.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"multi-user.target"
|
||||
];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = [
|
||||
"flood"
|
||||
];
|
||||
StateDirectoryMode = mkDefault 775;
|
||||
ExecStart = ''
|
||||
${getExe pkgs.flood} --auth "none" \
|
||||
--rundir ${cfg.dir} \
|
||||
--host "127.0.0.1" \
|
||||
--port "${toString cfg.port}" \
|
||||
\
|
||||
--qburl "http://${cfg.qbit.url}" \
|
||||
--qbuser "${cfg.qbit.user}" \
|
||||
--qbpass "${cfg.qbit.pass}"
|
||||
'';
|
||||
};
|
||||
systemd.services.flood = {
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = [ "flood" ];
|
||||
StateDirectoryMode = mkDefault 775;
|
||||
ExecStart = ''
|
||||
${getExe pkgs.flood} --auth "none" \
|
||||
--rundir ${cfg.dir} \
|
||||
--host "127.0.0.1" \
|
||||
--port "${toString cfg.port}" \
|
||||
--qburl "http://${cfg.qbit.url}" \
|
||||
--qbuser "${cfg.qbit.user}" \
|
||||
--qbpass "${cfg.qbit.pass}"
|
||||
'';
|
||||
};
|
||||
};
|
||||
users = {
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
{ pkgs }:
|
||||
{
|
||||
pkgs,
|
||||
#
|
||||
version ? null,
|
||||
hash ? null,
|
||||
}:
|
||||
|
||||
pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "anicli_api";
|
||||
version = "0.7.6";
|
||||
inherit version;
|
||||
pyproject = true;
|
||||
dontCheckRuntimeDeps = true;
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-g5hGmQeTNKHmIjKgrp/n3YGCWIiPQO0ZvnMHRSEmBFc=";
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
hash
|
||||
;
|
||||
};
|
||||
|
||||
build-system = with pkgs.python3Packages; [
|
||||
|
@ -38,10 +46,14 @@ pkgs.python3Packages.buildPythonApplication rec {
|
|||
};
|
||||
patches = [
|
||||
(pkgs.substituteAll {
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/DADA30000/dotfiles/raw/refs/heads/main/modules/system/anicli-ru/remove-hatch-plugins.patch";
|
||||
sha256 = "sha256-+WJGrSutAo+BtSrIh3V1PX0xJfoJTX3jkteYc06e6Ss=";
|
||||
};
|
||||
src =
|
||||
let
|
||||
git = "https://github.com/DADA30000/dotfiles/raw/refs/heads/main/";
|
||||
in
|
||||
pkgs.fetchurl {
|
||||
url = git + "modules/system/anicli-ru/remove-hatch-plugins.patch";
|
||||
sha256 = "sha256-+WJGrSutAo+BtSrIh3V1PX0xJfoJTX3jkteYc06e6Ss=";
|
||||
};
|
||||
version = "23.2.0";
|
||||
})
|
||||
];
|
||||
|
|
|
@ -1,13 +1,21 @@
|
|||
{ pkgs }:
|
||||
{
|
||||
pkgs,
|
||||
#
|
||||
version ? null,
|
||||
hash ? null,
|
||||
}:
|
||||
|
||||
pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "chompjs";
|
||||
version = "1.3.0";
|
||||
inherit version;
|
||||
pyproject = true;
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-isCzF1XpOTSPsq8cwBw1fbUMhU+j1QbOeSGPwV8FaGg=";
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
hash
|
||||
;
|
||||
};
|
||||
|
||||
build-system = with pkgs.python3Packages; [
|
||||
|
|
|
@ -1,13 +1,21 @@
|
|||
{ pkgs }:
|
||||
{
|
||||
pkgs,
|
||||
#
|
||||
version ? null,
|
||||
hash ? null,
|
||||
}:
|
||||
|
||||
pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "eggella";
|
||||
version = "0.1.7";
|
||||
inherit version;
|
||||
pyproject = true;
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-8Vo39BePA86wcLKs/F+u2N7tpIpPrEyEPp3POszy050=";
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
hash
|
||||
;
|
||||
};
|
||||
|
||||
build-system = with pkgs.python3Packages; [
|
||||
|
|
|
@ -6,7 +6,10 @@ pkgs.python3Packages.buildPythonApplication rec {
|
|||
pyproject = true;
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
;
|
||||
hash = "sha256-UaV781K0AfXwGoRPxLDSEFL7YG1Bp+OxCoxtVCwu90o=";
|
||||
};
|
||||
|
||||
|
@ -18,9 +21,18 @@ pkgs.python3Packages.buildPythonApplication rec {
|
|||
dependencies = with pkgs; [
|
||||
python3Packages.hatchling
|
||||
python3Packages.setuptools
|
||||
(callPackage ./eggella.nix { })
|
||||
(callPackage ./chompjs.nix { })
|
||||
(callPackage ./api.nix { })
|
||||
(callPackage ./eggella.nix {
|
||||
version = "0.1.7";
|
||||
hash = "sha256-8Vo39BePA86wcLKs/F+u2N7tpIpPrEyEPp3POszy050=";
|
||||
})
|
||||
(callPackage ./chompjs.nix {
|
||||
version = "1.3.1";
|
||||
hash = "sha256-LMXksmbp5YMH6aUjXmoDPUxCgtn6VuiBDlBXES5Ak2M=";
|
||||
})
|
||||
(callPackage ./api.nix {
|
||||
version = "0.7.7";
|
||||
hash = "sha256-dsUlYpBtMqIgdhOmRwfeRGgYAtrh41fi2aV6URA8NQQ=";
|
||||
})
|
||||
];
|
||||
|
||||
meta.mainProgram = "anicli-ru";
|
||||
|
|
|
@ -8,7 +8,10 @@ pkgs.python3Packages.buildPythonApplication rec {
|
|||
strictDeps = false;
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
;
|
||||
hash = "sha256-a8RXcl+w/Ju4k57a8RLAx5mXUExU6cBBEsF0AwaogIg=";
|
||||
};
|
||||
|
||||
|
|
|
@ -9,7 +9,10 @@ pkgs.python3Packages.buildPythonApplication rec {
|
|||
pythonImportsCheck = [ "BeatPrints" ];
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
;
|
||||
hash = "sha256-qPmvZs6nQq629zp2TNhKXO6C+EJuZAD8NjcSg/p00Vg=";
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,10 @@ pkgs.python3Packages.buildPythonPackage rec {
|
|||
strictDeps = false;
|
||||
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
;
|
||||
hash = "sha256-Nw5oZasXhDZ8Xb98ZlLTWFM5eypKDOwYQdFP1FukK0A=";
|
||||
};
|
||||
|
||||
|
|
13
pkgs/fish-helix/package.nix
Normal file
13
pkgs/fish-helix/package.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ pkgs }:
|
||||
|
||||
pkgs.fishPlugins.buildFishPlugin {
|
||||
pname = "fish-helix";
|
||||
version = "0.0.1";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "llakala";
|
||||
repo = "fish-helix";
|
||||
rev = "e18079be94f587763c9758ccdabdfdb743a136aa";
|
||||
hash = "sha256-nN86dEIA+mi+yWwOJHCVprT2KZmDanUWfxsZsN4p9s4=";
|
||||
};
|
||||
}
|
|
@ -10,23 +10,27 @@
|
|||
nix = {
|
||||
subs = [
|
||||
"https://nix-gaming.cachix.org" # NIX GAMING
|
||||
"https://hyprland.cachix.org" # HYPRLAND
|
||||
"https://cache.garnix.io" # AYUGRAM
|
||||
"https://chaotic-nyx.cachix.org" # CHAOTIC
|
||||
"https://helix.cachix.org" # HELIX
|
||||
"https://xache.cachix.org" # MY OWN
|
||||
"https://niri.cachix.org" # NIRI
|
||||
"https://chaotic-nyx.cachix.org" # CHAOTIC
|
||||
"https://cache.garnix.io" # AYUGRAM
|
||||
"https://nyx.chaotic.cx" # NYX
|
||||
#
|
||||
"https://hyprland.cachix.org" # HYPRLAND
|
||||
"https://cosmic.cachix.org" # COSMIC
|
||||
"https://niri.cachix.org" # NIRI
|
||||
];
|
||||
keys = [
|
||||
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" # NIX GAMING
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" # AYUGRAM
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" # CHAOTIC
|
||||
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" # HELIX
|
||||
"xache.cachix.org-1:InoMKnvFvDh+J5gFNHN1mmUONxvYJqFImLJY8/bl9YA=" # MY OWN
|
||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" # NIRI
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" # CHAOTIC
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" # AYUGRAM
|
||||
"nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" # NYX
|
||||
#
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND
|
||||
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" # COSMIC
|
||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" # NIRI
|
||||
];
|
||||
over =
|
||||
with inputs;
|
||||
|
@ -36,8 +40,18 @@
|
|||
[
|
||||
niri.overlays.niri
|
||||
nur.overlays.default
|
||||
(final: prev: xpackage)
|
||||
(final: prev: { zen-browser = xpackage.zen-browser; })
|
||||
(f: p: xpackage)
|
||||
(f: p: {
|
||||
zen-browser = xpackage.zen-browser;
|
||||
})
|
||||
(f: p: {
|
||||
stable = import nixpkgs-stable {
|
||||
inherit (p)
|
||||
system
|
||||
config
|
||||
;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue