Move i3 and autorandr into desktop modules
This commit is contained in:
parent
64b3299b82
commit
42742700a6
5 changed files with 6 additions and 10 deletions
43
nix/modules/nixos/desktop/autorandr.nix
Normal file
43
nix/modules/nixos/desktop/autorandr.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
services.autorandr = {
|
||||
enable = true;
|
||||
|
||||
profiles =
|
||||
let
|
||||
fingerprint = "00ffffffffffff000dae081400000000251d0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820403020350035ad1000001a000000fe004e3134304843472d4551310a20000000fe00434d4e0a202020202020202020000000fe004e3134304843472d4551310a200084";
|
||||
name = "eDP-1";
|
||||
in
|
||||
{
|
||||
default = {
|
||||
fingerprint = {
|
||||
"${name}" = fingerprint;
|
||||
};
|
||||
|
||||
config = {
|
||||
"${name}" = {
|
||||
enable = true;
|
||||
mode = "1920x1080";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
desktop = {
|
||||
config = {
|
||||
"${name}".enable = false;
|
||||
|
||||
"HDMI-1" = {
|
||||
enable = true;
|
||||
mode = "2560x1440";
|
||||
primary = true;
|
||||
rate = "59.95";
|
||||
};
|
||||
};
|
||||
|
||||
fingerprint = {
|
||||
"${name}" = fingerprint;
|
||||
"HDMI-1" = "00ffffffffffff004c2d1710424e58432b1f0103803f24782ac8b5ad50449e250f5054bfef80714f810081c081809500a9c0b300010108e80030f2705a80b0588a0078682100001e000000fd00324b1e873c000a202020202020000000fc004c5532385235350a2020202020000000ff0048345a524130303132380a20200183020335f04961120313041f10605f2309070783010000e305c0006b030c002000b83c2000200167d85dc401788003e20f81e3060501023a801871382d40582c450078682100001e023a80d072382d40102c458078682100001e04740030f2705a80b0588a0078682100001e565e00a0a0a029503020350078682100001a000049";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
imports = [
|
||||
../.
|
||||
./autorandr.nix
|
||||
./fonts.nix
|
||||
./gitea.nix
|
||||
./i3.nix
|
||||
./immich.nix
|
||||
./jellyfin.nix
|
||||
./xbanish.nix
|
||||
|
|
146
nix/modules/nixos/desktop/i3.nix
Normal file
146
nix/modules/nixos/desktop/i3.nix
Normal file
|
@ -0,0 +1,146 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
self,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
theme = import "${self}/nix/lib/theme" { inherit pkgs; };
|
||||
|
||||
modifier = "Mod4";
|
||||
in
|
||||
{
|
||||
services = {
|
||||
displayManager.defaultSession = "none+i3";
|
||||
|
||||
xserver = {
|
||||
displayManager.lightdm.enable = true;
|
||||
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
i3status
|
||||
i3lock
|
||||
i3blocks
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
dunst
|
||||
nitrogen
|
||||
];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
|
||||
config = {
|
||||
assigns = {
|
||||
"7" = [ { class = "vlc"; } ];
|
||||
"8" = [ { class = "0ad"; } ];
|
||||
"9" = [
|
||||
{ class = "Slack"; }
|
||||
{ class = "discord"; }
|
||||
];
|
||||
};
|
||||
|
||||
defaultWorkspace = "workspace number 1";
|
||||
|
||||
focus.followMouse = false;
|
||||
|
||||
modifier = modifier;
|
||||
|
||||
keybindings = inputs.nixpkgs.lib.mkOptionDefault {
|
||||
"${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun";
|
||||
|
||||
"${modifier}+Shift+b" = "exec ${pkgs.firefox}/bin/firefox";
|
||||
"${modifier}+Shift+f" = "exec ${pkgs.xfce.thunar}/bin/thunar";
|
||||
|
||||
# Change focus.
|
||||
"${modifier}+h" = "focus left";
|
||||
"${modifier}+j" = "focus down";
|
||||
"${modifier}+k" = "focus up";
|
||||
"${modifier}+l" = "focus right";
|
||||
|
||||
# Move focused window.
|
||||
"${modifier}+Shift+h" = "move left";
|
||||
"${modifier}+Shift+j" = "move down";
|
||||
"${modifier}+Shift+k" = "move up";
|
||||
"${modifier}+Shift+l" = "move right";
|
||||
|
||||
"${modifier}+Shift+s" = "exec ${pkgs.flameshot}/bin/flameshot gui";
|
||||
"${modifier}+Shift+p" = "exec ${pkgs.autorandr}/bin/autorandr --change";
|
||||
"${modifier}+Shift+y" = "exec ${pkgs.copyq}/bin/copyq toggle";
|
||||
|
||||
"XF86AudioRaiseVolume" = "exec pamixer -ui 2 && pamixer --get-volume";
|
||||
"XF86AudioLowerVolume" = "exec pamixer -ud 2 && pamixer --get-volume";
|
||||
"XF86AudioMute" = ''exec pamixer --toggle-mute && ( [ "$(pamixer --get-mute)" = "true" ] && echo 0'';
|
||||
|
||||
"XF86MonBrightnessDown" = "exec brightnessctl set 5%- | sed -En 's/.*(([0-9]+)%).*/1/p'";
|
||||
"XF86MonBrightnessUp" = "exec brightnessctl set +5% | sed -En 's/.*(([0-9]+)%).*/1/p'";
|
||||
};
|
||||
|
||||
terminal = "alacritty";
|
||||
|
||||
window = {
|
||||
border = 0;
|
||||
hideEdgeBorders = "none";
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
set $laptop eDP-1
|
||||
bindswitch --reload --locked lid:on output $laptop disable
|
||||
bindswitch --reload --locked lid:off output $laptop enable
|
||||
|
||||
exec_always --no-startup-id ${pkgs.nitrogen}/bin/nitrogen --restore &
|
||||
exec_always --no-startup-id caffeine
|
||||
exec_always --no-startup-id ${pkgs.autorandr}/bin/autorandr --change
|
||||
|
||||
default_border none
|
||||
default_floating_border none
|
||||
smart_borders on
|
||||
smart_gaps on
|
||||
|
||||
for_window [class="zoom"] floating enable
|
||||
# xprop | grep -i class
|
||||
'';
|
||||
|
||||
config = {
|
||||
bars = [
|
||||
{
|
||||
position = "bottom";
|
||||
statusCommand = "${pkgs.i3status}/bin/i3status";
|
||||
trayOutput = "none";
|
||||
}
|
||||
];
|
||||
|
||||
fonts.names = [ "${theme.fonts.monospace.name}" ];
|
||||
|
||||
gaps = {
|
||||
smartBorders = "on";
|
||||
smartGaps = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.i3status = {
|
||||
enable = true;
|
||||
|
||||
general.colors = false;
|
||||
|
||||
modules = {
|
||||
"battery all".settings.last_full_capacity = true;
|
||||
|
||||
"tztime local".settings.format = "%d-%m-%Y %H:%M:%S";
|
||||
cpu_temperature.enable = false;
|
||||
ipv6.enable = false;
|
||||
load.enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue