Compare commits

..

12 commits

25 changed files with 317 additions and 88 deletions

107
flake.lock generated
View file

@ -178,11 +178,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780894562, "lastModified": 1781152676,
"narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=", "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc", "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -457,11 +457,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780883961, "lastModified": 1781981105,
"narHash": "sha256-WU6SUrESuPiEXEUvX4D51AgWrXRJty+sLJBwBaDBGqE=", "narHash": "sha256-/1nNBbA7PrSQpTc9Qazkhl4kIPg+TNl0CjxS3UQJKlw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4eb4fec41674d5b059aa2eedf0f98453890546fa", "rev": "7bfff44b465909f69a442701293bc0badcf476dc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -552,6 +552,22 @@
"url": "https://git.lelgenio.com/lelgenio/made-you-look" "url": "https://git.lelgenio.com/lelgenio/made-you-look"
} }
}, },
"netlinkrb": {
"flake": false,
"locked": {
"lastModified": 1562850306,
"narHash": "sha256-0bXTWUdUDr2XP+bEIfIbxXap8Niva/IoPXTxFeXXImg=",
"owner": "vpsfreecz",
"repo": "netlinkrb",
"rev": "d9de53d843d2586ffa5b7b404887fa801c697ddf",
"type": "github"
},
"original": {
"owner": "vpsfreecz",
"repo": "netlinkrb",
"type": "github"
}
},
"nix-index-database": { "nix-index-database": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -559,11 +575,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780816331, "lastModified": 1782636943,
"narHash": "sha256-0BYqs8yKWkOz2Q7+SP18N5E5gmDKSo6LSxIVIa0wWes=", "narHash": "sha256-ripjZa7BBLwL1uS5VJF3s/VpZpWt5ZIQEvkJ/FJNpQw=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "1a2ea89c917781e88508d9fd2b507f2d2a0e173c", "rev": "058b1f9381fa79fcda49982370a750ff92dbba43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -582,11 +598,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780704867, "lastModified": 1781301671,
"narHash": "sha256-JuatomIQeXXZhdfEnBid9VoWyh6IfQgTE/FsM94UsRk=", "narHash": "sha256-rq6WOopxq3U2AGEWO80o9LIJDYcYIdgw6jyl+y+19w8=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "da29f6cc3d7e15eb7bfdae599918851cbd5ea142", "rev": "661ec59a97ccee13a63f79280b282eb6f7d3f817",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -614,12 +630,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1780749050, "lastModified": 1782467914,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=", "narHash": "sha256-inDx/w70OSJoJPqtKh0BrzAsbZZhpya7YgS43jHnhwg=",
"owner": "NixOS", "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4",
"repo": "nixpkgs", "type": "tarball",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb", "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1022855.e73de5be04e0/nixexprs.tar.xz"
"type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
@ -629,11 +644,11 @@
}, },
"nixpkgsUnstable": { "nixpkgsUnstable": {
"locked": { "locked": {
"lastModified": 1780749050, "lastModified": 1782467914,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=", "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb", "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -707,12 +722,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1780902259, "lastModified": 1782535326,
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=", "narHash": "sha256-r4TA57SL7nvj1R+GY/FCLwFU48w9IixTQlzBTIYkt8E=",
"owner": "NixOS", "rev": "714a5f8c4ead6b31148d829288440ed033ccc041",
"repo": "nixpkgs", "type": "tarball",
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca", "url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.3494.714a5f8c4ead/nixexprs.tar.xz"
"type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
@ -754,11 +768,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1780734595, "lastModified": 1782375420,
"narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=", "narHash": "sha256-wiPYmEuHbJvleW489n6+lamL7JSJg3pcKUYwURU9CkI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9b696460ac78b5ccfc17c854d8c976f20456e943", "rev": "4062d36ebeae843c750011eef6b61ec9a9dbc9a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -844,6 +858,23 @@
"youre-wrong": "youre-wrong" "youre-wrong": "youre-wrong"
} }
}, },
"ruby-lxc": {
"flake": false,
"locked": {
"lastModified": 1780499941,
"narHash": "sha256-guAdOSP9MyCL3BQ1LGXAhcCoXgEU1fUE69d2ATMqUGE=",
"owner": "vpsfreecz",
"repo": "ruby-lxc",
"rev": "004bf35eb90d41ba60b347b5b1e73d868a4f95d9",
"type": "github"
},
"original": {
"owner": "vpsfreecz",
"ref": "2026-06-03-nixos-26-05-port",
"repo": "ruby-lxc",
"type": "github"
}
},
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -895,11 +926,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780547341, "lastModified": 1782165805,
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=", "narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a", "rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1056,15 +1087,17 @@
"vpsadminos": { "vpsadminos": {
"inputs": { "inputs": {
"impermanence": "impermanence", "impermanence": "impermanence",
"netlinkrb": "netlinkrb",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_8",
"nixpkgsUnstable": "nixpkgsUnstable" "nixpkgsUnstable": "nixpkgsUnstable",
"ruby-lxc": "ruby-lxc"
}, },
"locked": { "locked": {
"lastModified": 1780902784, "lastModified": 1782540463,
"narHash": "sha256-xqY+ApLpKx8/sVGx6a6Tt1NUqU8FPaNlitR3R396HFo=", "narHash": "sha256-OpSw3D1naT34lbIcRSykz2T7JY66ZduL56qfxEoRdXQ=",
"owner": "vpsfreecz", "owner": "vpsfreecz",
"repo": "vpsadminos", "repo": "vpsadminos",
"rev": "a791e6b372bb0fb6c9ffd65383517c140f510f8b", "rev": "503684bcfbe3e9be442ce5282cdbb22e250b225c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,6 +5,10 @@
rec { rec {
caffeinated = pkgs.callPackage ./caffeinated { }; caffeinated = pkgs.callPackage ./caffeinated { };
cargo-checkmate = pkgs.callPackage ./cargo-checkmate.nix { }; cargo-checkmate = pkgs.callPackage ./cargo-checkmate.nix { };
lumactl = pkgs.callPackage ./lumactl.nix {
wmctl = pkgs.callPackage ./wmctl.nix { };
};
wmctl = pkgs.callPackage ./wmctl.nix { };
lipsum = pkgs.callPackage ./lipsum.nix { }; lipsum = pkgs.callPackage ./lipsum.nix { };
emmet-cli = pkgs.callPackage ./emmet-cli.nix { }; emmet-cli = pkgs.callPackage ./emmet-cli.nix { };
material-wifi-icons = pkgs.callPackage ./material-wifi-icons.nix { }; material-wifi-icons = pkgs.callPackage ./material-wifi-icons.nix { };

54
pkgs/lumactl.nix Normal file
View file

@ -0,0 +1,54 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
systemd,
libxkbcommon,
wayland,
wayland-scanner,
libffi,
wmctl,
makeWrapper,
}:
rustPlatform.buildRustPackage rec {
pname = "lumactl";
version = "0.1.0";
src = fetchFromGitHub {
owner = "danyspin97";
repo = pname;
rev = "89e273e25afe545e3bcaf282b84a63e3c34117de";
hash = "sha256-PQucBe3xPjjzuiaukdf2f/CvTqbGm0wJMbdpgd2ubnU=";
};
cargoHash = "sha256-RvC8wDCY22dBrUcl6VjrwMHwTTSSoBzLwnghAOAUoYU=";
nativeBuildInputs = [
pkg-config
wayland-scanner
makeWrapper
];
buildInputs = [
systemd
libxkbcommon
wayland
libffi
wmctl
];
postFixup = ''
wrapProgram $out/bin/lumactl \
--prefix PATH : ${lib.makeBinPath [ wmctl ]}
'';
meta = with lib; {
description = "CLI utility for controlling display brightness on Linux";
homepage = "https://github.com/danyspin97/lumactl";
license = licenses.gpl3Plus;
mainProgram = "lumactl";
platforms = platforms.linux;
maintainers = with maintainers; [ lelgenio ];
};
}

43
pkgs/wmctl.nix Normal file
View file

@ -0,0 +1,43 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
libxkbcommon,
wayland,
wayland-scanner,
libffi,
}:
rustPlatform.buildRustPackage rec {
pname = "wmctl";
version = "0.1.0";
src = fetchFromGitHub {
owner = "danyspin97";
repo = pname;
rev = "398d87945ab6c4b31e04063098c79d1e456afdcc";
hash = "sha256-J3ZHq51uDgPMcQbJzEflReDnm1AqPs7Hov3jpCDlNHU=";
};
cargoHash = "sha256-T7FdevuBLbrYE5vTuBincSRMDOLkUsoKx/jg0i1Ybdo=";
nativeBuildInputs = [
pkg-config
wayland-scanner
];
buildInputs = [
libxkbcommon
wayland
libffi
];
meta = with lib; {
description = "CLI for controlling Wayland compositors";
homepage = "https://github.com/danyspin97/wmctl";
license = licenses.gpl3Plus;
mainProgram = "wmctl";
platforms = platforms.linux;
maintainers = with maintainers; [ lelgenio ];
};
}

View file

@ -146,6 +146,13 @@
xorg.setxkbmap xorg.setxkbmap
jq jq
]; ];
kde-sync-xkbmap = [
xorg.setxkbmap
dbus
gnugrep
gnused
gawk
];
print-battery-icon = [ ]; print-battery-icon = [ ];
controller-battery = [ print-battery-icon ]; controller-battery = [ print-battery-icon ];
mouse-battery = [ print-battery-icon ]; mouse-battery = [ print-battery-icon ];

51
scripts/kde-sync-xkbmap Executable file
View file

@ -0,0 +1,51 @@
#!/bin/sh
set -euo pipefail
get_layout_display_name() {
idx="$1"
dbus-send --session --print-reply --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.getLayoutsList 2>/dev/null \
| grep 'string "' \
| sed 's/.*string "\([^"]*\)".*/\1/' \
| awk -v idx="$idx" 'NR%3==0 { if (c++ == idx) { print; exit } }'
}
get_layout_index() {
dbus-send --session --print-reply --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.getLayout 2>/dev/null \
| awk '/uint32/ { print $2; exit }'
}
LAST_LAYOUT=""
apply_layout() {
idx="$1"
CURRENT_LAYOUT=$(get_layout_display_name "$idx")
if test "$LAST_LAYOUT" = "$CURRENT_LAYOUT"; then
return 0
elif test "$CURRENT_LAYOUT" = "English (Colemak)"; then
echo "Setting layout to colemak"
setxkbmap us colemak
elif test "$CURRENT_LAYOUT" = "Portuguese (Brazil)"; then
echo "Setting layout to br"
setxkbmap br
fi
LAST_LAYOUT="$CURRENT_LAYOUT"
}
update_layout() {
INDEX=$(get_layout_index)
apply_layout "$INDEX"
}
while ! get_layout_index; do
sleep 1s
done
update_layout
dbus-monitor --session \
"type='signal',interface='org.kde.KeyboardLayouts',member='layoutChanged',path='/Layouts'" \
| while read -r line; do
update_layout
done

View file

@ -26,10 +26,10 @@
gamescope gamescope
# gamescope compatibility?? # gamescope compatibility??
xorg.libXcursor libxcursor
xorg.libXi libxi
xorg.libXinerama libxinerama
xorg.libXScrnSaver libxscrnsaver
libpng libpng
libpulseaudio libpulseaudio
libvorbis libvorbis

View file

@ -25,6 +25,9 @@ in
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver.enable = false; services.xserver.enable = false;
# Enable external monitor configuration (brightness)
hardware.i2c.enable = true;
# enable sway window manager # enable sway window manager
programs.sway = { programs.sway = {
enable = true; enable = true;

View file

@ -20,6 +20,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
kdePackages.partitionmanager kdePackages.partitionmanager
kdePackages.sddm-kcm
]; ];
}; };
} }

View file

@ -7,7 +7,7 @@
{ {
programs.thunar = { programs.thunar = {
enable = true; enable = true;
plugins = with pkgs.xfce; [ plugins = with pkgs; [
thunar-archive-plugin thunar-archive-plugin
thunar-volman thunar-volman
]; ];

View file

@ -22,6 +22,7 @@
"input" "input"
"libvirtd" "libvirtd"
"kvm" "kvm"
"i2c"
]; ];
shell = pkgs.fish; shell = pkgs.fish;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [

View file

@ -2,7 +2,6 @@
{ {
projectRootFile = "flake.nix"; projectRootFile = "flake.nix";
programs.nixfmt.enable = true; programs.nixfmt.enable = true;
programs.nixfmt.package = pkgs.nixfmt-rfc-style;
settings.on-unmatched = "debug"; settings.on-unmatched = "debug";
} }

View file

@ -1,10 +1,12 @@
{ {
config, config,
pkgs, pkgs,
lib,
... ...
}: }:
let let
inherit (config.my.theme) color; inherit (config.my) theme desktop;
inherit (theme) color;
bugfixedFirefox = pkgs.firefox-devedition-unwrapped // { bugfixedFirefox = pkgs.firefox-devedition-unwrapped // {
requireSigning = false; requireSigning = false;
@ -15,6 +17,7 @@ in
config = { config = {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
configPath = ".mozilla/firefox";
package = pkgs.wrapFirefox bugfixedFirefox { package = pkgs.wrapFirefox bugfixedFirefox {
nixExtensions = [ nixExtensions = [
(pkgs.fetchFirefoxAddon { (pkgs.fetchFirefoxAddon {
@ -133,7 +136,7 @@ in
"devtools.chrome.enabled" = true; "devtools.chrome.enabled" = true;
"devtools.debugger.remote-enabled" = true; "devtools.debugger.remote-enabled" = true;
}; };
userChrome = '' userChrome = lib.optionalString (color.type == "dark" && desktop == "sway") ''
#sidebar-main { #sidebar-main {
background-color: ${color.bg}; background-color: ${color.bg};
} }

View file

@ -17,10 +17,10 @@ function fish_mode_prompt;end
function _fish_prompt_color -a color function _fish_prompt_color -a color
# separate line needed for bold normal # separate line needed for bold normal
set_color $color set_color "$color"
set_color --bold set_color --bold
set -e argv[1] set -e argv[1]
echo -en $argv echo -en "$argv"
end end
alias _fish_prompt_warn "_fish_prompt_color 'yellow'" alias _fish_prompt_warn "_fish_prompt_color 'yellow'"
@ -34,7 +34,7 @@ alias _fish_prompt_accent "_fish_prompt_color '$__accent_color'"
############################################################ ############################################################
function _fish_prompt_git_status -a git_status_s code symbol color function _fish_prompt_git_status -a git_status_s code symbol color
echo $git_status_s | string match -qr "^$code" echo "$git_status_s" | string match -qr "^$code"
and _fish_prompt_color "$color" "$symbol" and _fish_prompt_color "$color" "$symbol"
end end
@ -148,7 +148,7 @@ function fish_git_prompt
if test -n "$git_log_unpushed" if test -n "$git_log_unpushed"
and not string match -qr "$git_branch" "$git_log_unpushed" and not string match -qr "$git_branch" "$git_log_unpushed"
_fish_prompt_normal '↻' _fish_prompt_normal '↻'
_fish_prompt_warn $git_log_unpushed[1] _fish_prompt_warn "$git_log_unpushed[1]"
end end
end end
@ -182,14 +182,14 @@ function fish_program_time_prompt_print -a diff
set -l unit secs set -l unit secs
if test $diff -gt 60 if test "$diff" -gt 60
set unit "mins" set unit "mins"
set diff (math $diff / 60) set diff (math "$diff" / 60)
end end
if test $diff -gt 60 if test "$diff" -gt 60
set unit "hours" set unit "hours"
set diff (math $diff / 60) set diff (math "$diff" / 60)
end end
if test "$diff" -gt 1 if test "$diff" -gt 1
@ -198,7 +198,7 @@ function fish_program_time_prompt_print -a diff
# force formatting as 0.1 instead of 0,1 # force formatting as 0.1 instead of 0,1
env LC_ALL=C printf "%.02f" "$diff" env LC_ALL=C printf "%.02f" "$diff"
) )
_fish_prompt_normal $unit _fish_prompt_normal "$unit"
end end
end end
@ -208,9 +208,9 @@ function fish_program_time_prompt
return return
end end
set -l difference (math $__fish_prompt_last_command_end - $__fish_prompt_last_command_start) set -l difference (math "$__fish_prompt_last_command_end" - "$__fish_prompt_last_command_start")
fish_program_time_prompt_print $difference fish_program_time_prompt_print "$difference"
set -eg __fish_prompt_last_command_start set -eg __fish_prompt_last_command_start
set -eg __fish_prompt_last_command_end set -eg __fish_prompt_last_command_end
@ -223,13 +223,13 @@ end
function fish_vimode_prompt # Not fish_mode_prompt! function fish_vimode_prompt # Not fish_mode_prompt!
if not test $fish_key_bindings = fish_vi_key_bindings if not test "$fish_key_bindings" = fish_vi_key_bindings
printf '\e[5 q' # Bar printf '\e[5 q' # Bar
return return
end end
# Set cursor shape # Set cursor shape
if test $fish_bind_mode = insert if test "$fish_bind_mode" = insert
printf '\e[5 q' # Bar printf '\e[5 q' # Bar
else else
printf '\e[1 q' # Block printf '\e[1 q' # Block
@ -238,13 +238,13 @@ function fish_vimode_prompt # Not fish_mode_prompt!
# Print mode symbol, N for normal, I for insert, etc... # Print mode symbol, N for normal, I for insert, etc...
# on most cases first letter of mode name # on most cases first letter of mode name
_fish_prompt_accent ( _fish_prompt_accent (
switch $fish_bind_mode switch "$fish_bind_mode"
case replace_one case replace_one
printf 'o' printf 'o'
case default case default
printf 'n' printf 'n'
case '*' case '*'
printf (string match -r '^.' $fish_bind_mode ) printf (string match -r '^.' "$fish_bind_mode" )
end | string upper end | string upper
)' ' )' '
end end
@ -256,9 +256,9 @@ end
function fish_prompt function fish_prompt
# Save current status as it may be overwritten before usage # Save current status as it may be overwritten before usage
set _status $status set _status "$status"
_fish_prompt_accent $USER _fish_prompt_accent "$USER"
_fish_prompt_normal " in " _fish_prompt_normal " in "
_fish_prompt_accent (prompt_pwd) _fish_prompt_accent (prompt_pwd)
@ -281,11 +281,11 @@ function fish_prompt
fish_vimode_prompt fish_vimode_prompt
if test $_status -ne 0 if test "$_status" -ne 0
_fish_prompt_warn "$_status " _fish_prompt_warn "$_status "
end end
if test $USER = root if test "$USER" = root
_fish_prompt_normal '# ' _fish_prompt_normal '# '
else else
_fish_prompt_normal '$ ' _fish_prompt_normal '$ '

View file

@ -53,7 +53,7 @@
]; ];
my = import ./variables.nix // { my = import ./variables.nix // {
# sway.enable = true; sway.enable = config.my.desktop == "sway";
pass.enable = true; pass.enable = true;
fish.enable = true; fish.enable = true;
}; };
@ -100,7 +100,7 @@
python3Packages.python-slugify python3Packages.python-slugify
par par
mate.engrampa engrampa
# gnome.nautilus # gnome.nautilus
## Theming ## Theming
@ -134,7 +134,7 @@
rust-analyzer # rust analyzer rust-analyzer # rust analyzer
unstable.blade-formatter unstable.blade-formatter
nixfmt-rfc-style nixfmt
nix-output-monitor nix-output-monitor
]; ];

View file

@ -77,8 +77,8 @@ with colors;
head /dev/urandom | head /dev/urandom |
base64 | base64 |
rg --text -o "${color.random_range}" | rg --text -o "${color.random_range}" |
head -n 6 | tr -d '\n' |
sd '\n' "" head -c 6
} }
face global StatusLineMode StatusLine face global StatusLineMode StatusLine
face global StatusLineInfo StatusLine face global StatusLineInfo StatusLine

View file

@ -10,10 +10,12 @@ with pkgs.tree-sitter-grammars;
acc: name: vals: acc: name: vals:
acc acc
+ '' + ''
[language.${name}.grammar.source.local] [grammar.${name}.source.local]
path = "${vals.parser}" path = "${vals.parser}"
[language.${name}.queries.source.local] [language.${name}.queries.source.local]
path = "${vals.queries}" path = "${vals.queries}"
[language.${name}.queries] [language.${name}.queries]
path = "${vals.queries}" path = "${vals.queries}"
'' ''

View file

@ -4,6 +4,9 @@
config, config,
... ...
}: }:
lib.mkIf (config.my.desktop == "kde") { {
imports = [ ./kde/kde-sync-xkbmap.nix ];
}
// lib.mkIf (config.my.desktop == "kde") {
services.gpg-agent.pinentry.package = lib.mkForce pkgs.pinentry-qt; services.gpg-agent.pinentry.package = lib.mkForce pkgs.pinentry-qt;
} }

View file

@ -0,0 +1,22 @@
{
config,
pkgs,
lib,
...
}:
lib.mkIf (config.my.desktop == "kde") {
systemd.user.services.kde-sync-xkbmap = {
Unit = {
Description = "Sync xkbmap with KDE keyboard layout";
PartOf = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
};
Service = {
ExecStart = lib.getExe pkgs.kde-sync-xkbmap;
Restart = "on-failure";
};
Install = {
WantedBy = [ "plasma-workspace.target" ];
};
};
}

View file

@ -17,6 +17,8 @@
cache-pause-wait = 10; cache-pause-wait = 10;
hwdec = "auto"; hwdec = "auto";
ao = "pulse,";
}; };
scripts = with pkgs.mpvScripts; [ scripts = with pkgs.mpvScripts; [
mpris mpris

View file

@ -3,16 +3,16 @@
programs.ssh = { programs.ssh = {
enable = true; enable = true;
enableDefaultConfig = false; enableDefaultConfig = false;
matchBlocks = { settings = {
monolith = { monolith = {
user = "lelgenio"; User = "lelgenio";
hostname = "monolith.lelgenio.com"; HostName = "monolith.lelgenio.com";
port = 9022; Port = 9022;
}; };
phantom = { phantom = {
user = "root"; User = "root";
hostname = "phantom.lelgenio.com"; HostName = "phantom.lelgenio.com";
port = 9022; Port = 9022;
}; };
}; };
includes = [ "~/Wopus/.ssh.config" ]; includes = [ "~/Wopus/.ssh.config" ];

View file

@ -80,15 +80,15 @@ in
bg = "${theme.background} fill"; bg = "${theme.background} fill";
}; };
"AOC 24G2W1G4 ATNM6XA004804" = { "AOC 24G2W1G4 ATNM6XA004804" = {
position = "0,0"; position = "1080,260";
adaptive_sync = "on"; adaptive_sync = "on";
mode = "1920x1080@144.000Hz"; mode = "1920x1080@144.000Hz";
}; };
"LG Electronics 25UM58G 0x01010101" = { "LG Electronics LG FULL HD 0x00019147" = {
position = "1920,215"; position = "0,0";
transform = "90";
adaptive_sync = "on"; adaptive_sync = "on";
scale = "1.2"; mode = "1920x1080@74.973Hz";
mode = "2560x1080@74.991Hz";
}; };
}; };
fonts = { fonts = {
@ -155,7 +155,8 @@ in
wdmenu wdmenu
wlauncher wlauncher
volumesh volumesh
brightnessctl wmctl
lumactl
showkeys showkeys
pamixer pamixer
libnotify libnotify

View file

@ -160,8 +160,8 @@ let
}; };
screen_binds = { screen_binds = {
"XF86MonBrightnessDown" = "exec brightnessctl --min-value=1 set 5%-"; "XF86MonBrightnessDown" = "exec lumactl set -- -5%";
"XF86MonBrightnessUp" = "exec brightnessctl --min-value=1 set 5%+"; "XF86MonBrightnessUp" = "exec lumactl set -- +5%";
"${mod}+l" = "exec ${lib.getExe _lock}"; "${mod}+l" = "exec ${lib.getExe _lock}";
}; };

View file

@ -1,9 +1,8 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
programs.vscode = { programs.vscodium = {
enable = true; enable = true;
package = pkgs.vscodium;
profiles.default.extensions = with pkgs.vscode-extensions; [ profiles.default.extensions = with pkgs.vscode-extensions; [
jnoortheen.nix-ide jnoortheen.nix-ide
github.github-vscode-theme github.github-vscode-theme

View file

@ -10,6 +10,7 @@ in
userDirs = { userDirs = {
enable = true; enable = true;
createDirectories = true; createDirectories = true;
setSessionVariables = true;
desktop = "${HOME}/Área de trabalho"; desktop = "${HOME}/Área de trabalho";
documents = "${HOME}/Documentos"; documents = "${HOME}/Documentos";