Compare commits
28 commits
db66e7ea65
...
2f67b084d2
Author | SHA1 | Date | |
---|---|---|---|
2f67b084d2 | |||
36a717072a | |||
43dd44d237 | |||
655baa24b0 | |||
085ca01d56 | |||
26ca820d4e | |||
36636a8a98 | |||
e9b3ed69c9 | |||
20d72d7787 | |||
07be28a2fb | |||
6859150622 | |||
9137829f02 | |||
90a08dfaa9 | |||
49074303af | |||
ad12a22346 | |||
15c5e33060 | |||
5218277b3e | |||
2ce8246287 | |||
cbeaa72101 | |||
3b411b0c6d | |||
3333772c23 | |||
686f605a6d | |||
2215da6dc5 | |||
a30f87ec71 | |||
48c074f1f4 | |||
9f2382ef2d | |||
96c86f2cc8 | |||
4ddc0a4acd |
|
@ -40,7 +40,6 @@ in
|
|||
"zenpower"
|
||||
];
|
||||
boot.kernelParams = [
|
||||
"amdgpu.dcdebugmask=0x10" # amdgpu undervolting bug
|
||||
"video=DP-1:1920x1080@144"
|
||||
# hibernation
|
||||
"resume=LABEL=BTRFS_ROOT" # findmnt -o LABEL --noheadings /swap/
|
||||
|
@ -64,14 +63,6 @@ in
|
|||
rocmPackages.rocm-smi
|
||||
];
|
||||
|
||||
programs.corectrl = {
|
||||
enable = true;
|
||||
gpuOverclock = {
|
||||
enable = true;
|
||||
ppfeaturemask = "0xffffffff";
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/BTRFS_ROOT";
|
||||
fsType = "btrfs";
|
||||
|
|
|
@ -6,7 +6,6 @@ rec {
|
|||
themes
|
||||
new-packages
|
||||
patches
|
||||
variables
|
||||
lib_extended
|
||||
];
|
||||
|
||||
|
@ -80,8 +79,6 @@ rec {
|
|||
}
|
||||
);
|
||||
|
||||
variables = (final: prev: { uservars = import ../user/variables.nix; });
|
||||
|
||||
lib_extended = (
|
||||
final: prev: {
|
||||
lib = prev.lib // rec {
|
||||
|
|
|
@ -126,6 +126,7 @@
|
|||
wl-clipboard
|
||||
];
|
||||
auto_connect_gamepad = [ bluez ];
|
||||
vrr-fullscreen = [ ];
|
||||
}
|
||||
// lib.mapAttrs import_script {
|
||||
wdmenu = ./wdmenu.nix;
|
||||
|
|
28
scripts/vrr-fullscreen
Executable file
28
scripts/vrr-fullscreen
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# List of supported outputs for VRR
|
||||
output_vrr_whitelist=(
|
||||
"DP-1"
|
||||
"DP-2"
|
||||
)
|
||||
|
||||
# Toggle VRR for fullscreened apps in prespecified displays to avoid stutters while in desktop
|
||||
swaymsg -t subscribe -m '[ "window" ]' | while read window_json; do
|
||||
window_event=$(echo ${window_json} | jq -r '.change')
|
||||
|
||||
# Process only focus change and fullscreen toggle
|
||||
if [[ $window_event = "focus" || $window_event = "fullscreen_mode" ]]; then
|
||||
output_json=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused == true)')
|
||||
output_name=$(echo ${output_json} | jq -r '.name')
|
||||
|
||||
# Use only VRR in whitelisted outputs
|
||||
if [[ ${output_vrr_whitelist[*]} =~ ${output_name} ]]; then
|
||||
output_vrr_status=$(echo ${output_json} | jq -r '.adaptive_sync_status')
|
||||
window_fullscreen_status=$(echo ${window_json} | jq -r '.container.fullscreen_mode')
|
||||
|
||||
# Only update output if nesseccary to avoid flickering
|
||||
[[ $output_vrr_status = "disabled" && $window_fullscreen_status = "1" ]] && swaymsg output "${output_name}" adaptive_sync 1
|
||||
[[ $output_vrr_status = "enabled" && $window_fullscreen_status = "0" ]] && swaymsg output "${output_name}" adaptive_sync 0
|
||||
fi
|
||||
fi
|
||||
done
|
|
@ -1,12 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
inherit (pkgs.uservars) dmenu;
|
||||
available_menus = {
|
||||
bmenu = "bmenu";
|
||||
rofi = "rofi -dmenu -sort";
|
||||
};
|
||||
menu_cmd = available_menus.${dmenu};
|
||||
in
|
||||
pkgs.writeShellScriptBin "wdmenu" ''
|
||||
exec ${menu_cmd} "$@"
|
||||
exec bmenu "$@"
|
||||
''
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
inherit (pkgs.uservars) dmenu;
|
||||
inherit (config.my) dmenu;
|
||||
available_menus = {
|
||||
bmenu = "bmenu run";
|
||||
rofi = "rofi -show drun -sort";
|
||||
|
|
|
@ -1,12 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
inherit (pkgs.uservars) dmenu;
|
||||
available_menus = {
|
||||
bmenu = "bmenu run";
|
||||
rofi = "rofi -show drun -sort";
|
||||
};
|
||||
menu_cmd = available_menus.${dmenu};
|
||||
in
|
||||
pkgs.writeShellScriptBin "wlauncher" ''
|
||||
exec ${menu_cmd} "$@"
|
||||
exec bmenu run "$@"
|
||||
''
|
||||
|
|
6
settings/default.nix
Normal file
6
settings/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
options = {
|
||||
my = lib.mkOption { };
|
||||
};
|
||||
}
|
|
@ -43,7 +43,7 @@
|
|||
};
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = lib.mkIf (pkgs.uservars.desktop == "sway") "red_loader";
|
||||
theme = lib.mkIf (config.my.desktop == "sway") "red_loader";
|
||||
themePackages = with pkgs; [
|
||||
(adi1090x-plymouth-themes.override { selected_themes = [ "red_loader" ]; })
|
||||
];
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
./users.nix
|
||||
./containers.nix
|
||||
./network.nix
|
||||
../settings
|
||||
];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
my = import ../user/variables.nix;
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
@ -71,7 +71,7 @@ in
|
|||
enable = true;
|
||||
settings = {
|
||||
initial_session = {
|
||||
command = "${pkgs.sway}/bin/sway";
|
||||
command = desktop;
|
||||
user = "lelgenio";
|
||||
};
|
||||
default_session = {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
accent
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
accent
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) desktop browser;
|
||||
inherit (config.my) desktop browser;
|
||||
bugfixedFirefox = pkgs.firefox-esr-unwrapped // {
|
||||
requireSigning = false;
|
||||
allowAddonSideload = true;
|
||||
|
|
|
@ -5,15 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
key
|
||||
theme
|
||||
color
|
||||
accent
|
||||
font
|
||||
editor
|
||||
desktop
|
||||
;
|
||||
inherit (config.my) accent editor desktop;
|
||||
in
|
||||
{
|
||||
config = {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
accent
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) username mail;
|
||||
inherit (config.my) username mail;
|
||||
in
|
||||
{
|
||||
config = {
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
lib.mkIf (pkgs.uservars.desktop == "gnome") {
|
||||
lib.mkIf (config.my.desktop == "gnome") {
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "Adwaita";
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) accent theme editor;
|
||||
inherit (config.my) accent theme editor;
|
||||
inherit (theme) color;
|
||||
in
|
||||
{
|
||||
|
|
|
@ -44,8 +44,11 @@
|
|||
./xdg-dirs.nix
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
../settings
|
||||
];
|
||||
|
||||
my = import ./variables.nix;
|
||||
|
||||
# Home Manager needs a bit of information about you and the
|
||||
# paths it should manage.
|
||||
home.username = "lelgenio";
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
{
|
||||
config = lib.mkIf (pkgs.uservars.desktop == "hyprland") {
|
||||
config = lib.mkIf (config.my.desktop == "hyprland") {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = false;
|
||||
extraConfig = ''
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
dmenu
|
||||
editor
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
color
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
color
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) browser;
|
||||
inherit (config.my) browser;
|
||||
cfg = config.xdg.defaultApplications;
|
||||
in
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
{
|
||||
config = lib.mkIf (pkgs.uservars.desktop != "gnome") {
|
||||
config = lib.mkIf (config.my.desktop != "gnome") {
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
musicDirectory = config.home.homeDirectory + "/Música";
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
color
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
accent
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) username mail;
|
||||
inherit (config.my) username mail;
|
||||
in
|
||||
{
|
||||
config = {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
@ -24,7 +24,7 @@ in
|
|||
./swaylock.nix
|
||||
./theme.nix
|
||||
];
|
||||
config = lib.mkIf (pkgs.uservars.desktop == "sway") {
|
||||
config = lib.mkIf (config.my.desktop == "sway") {
|
||||
services.mako.enable = true;
|
||||
services.swayidle.enable = true;
|
||||
services.kanshi.enable = true;
|
||||
|
@ -69,7 +69,7 @@ in
|
|||
};
|
||||
output = {
|
||||
"*" = {
|
||||
adaptive_sync = "enabled";
|
||||
adaptive_sync = "off";
|
||||
bg = "${theme.background} fill";
|
||||
mode = "1920x1080@144.000Hz";
|
||||
};
|
||||
|
@ -104,7 +104,6 @@ in
|
|||
exec ${pkgs.dbus-sway-environment}/bin/dbus-sway-environment
|
||||
exec swaymsg workspace 2
|
||||
exec_always systemctl --user restart waybar.service
|
||||
exec corectrl --minimize-systray
|
||||
'';
|
||||
};
|
||||
services.gammastep = {
|
||||
|
@ -117,6 +116,21 @@ in
|
|||
indicator = true;
|
||||
};
|
||||
|
||||
systemd.user.services.vrr-fullscreen = {
|
||||
Unit = {
|
||||
Description = "Enable VRR for fullscreen windows";
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
After = [ "graphical-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${lib.getExe pkgs.vrr-fullscreen}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "sway-session.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."OpenTabletDriver/settings.json".source = ./open-tablet-driver.json;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
in
|
||||
# inherit (pkgs.uservars) key accent font theme;
|
||||
# inherit (config.my) key accent font theme;
|
||||
# inherit (theme) color;
|
||||
# inherit (pkgs) lib;
|
||||
# mod = "Mod4";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) theme font desktop;
|
||||
inherit (config.my) theme font desktop;
|
||||
inherit (theme)
|
||||
color
|
||||
gtk_theme
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars) nextcloud;
|
||||
inherit (config.my) nextcloud;
|
||||
pass_cmd = (
|
||||
pkgs.writeShellScript "get_pass" ''
|
||||
pass "${nextcloud.pass}" | head -n1
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
theme
|
||||
accent
|
||||
|
@ -137,7 +137,7 @@ in
|
|||
{
|
||||
format = "{stateIcon} {title} - {artist}";
|
||||
format-paused = "{stateIcon}";
|
||||
format-stopped = "";
|
||||
format-stopped = "{stateIcon}";
|
||||
state-icons = {
|
||||
stopped = "";
|
||||
paused = "";
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.uservars)
|
||||
inherit (config.my)
|
||||
key
|
||||
accent
|
||||
font
|
||||
|
|
Loading…
Reference in a new issue