Merge branch 'convert-to-options'
This commit is contained in:
commit
6e6cd036d2
@ -1,10 +0,0 @@
|
||||
{ lib, pkgs, config, inputs, ... } @args:
|
||||
{
|
||||
imports = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
comma
|
||||
];
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{ lib, pkgs, osConfig, ... }:
|
||||
{
|
||||
imports = [
|
||||
./comma.nix
|
||||
];
|
||||
# home.username = "nullbite";
|
||||
# home.homeDirectory = "/home/nullbite";
|
||||
|
||||
home.packages = with pkgs; [
|
||||
btop
|
||||
];
|
||||
}
|
6
home/common/default.nix
Normal file
6
home/common/default.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [
|
||||
./wm.nix
|
||||
];
|
||||
}
|
20
home/common/wm.nix
Normal file
20
home/common/wm.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ pkgs, lib, config, osConfig, options, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.wm;
|
||||
inherit (lib) mkDefault;
|
||||
in
|
||||
{
|
||||
options.nixfiles.common.wm = {
|
||||
enable = lib.mkEnableOption "common window manager config";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Common options for standalone window managers; many of these (or
|
||||
# alternatives thereof) are pulled in by desktop environments.
|
||||
services = {
|
||||
udiskie = {
|
||||
enable = mkDefault true;
|
||||
automount = mkDefault false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -5,6 +5,11 @@ let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./common
|
||||
./package-sets
|
||||
./profile
|
||||
./programs
|
||||
./sessions
|
||||
];
|
||||
config = {};
|
||||
options.nixfiles = {
|
||||
|
@ -1,243 +0,0 @@
|
||||
{ lib, pkgs, osConfig, outputs, ... }@args:
|
||||
let
|
||||
mkd = lib.mkDefault;
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
files = "${pkgs.dolphin}/bin/dolphin";
|
||||
rofi = "${pkgs.rofi-wayland}/bin/rofi";
|
||||
notifydaemon = "${pkgs.dunst}/bin/dunst";
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
polkit-agent = "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";
|
||||
|
||||
# Hyprland workspace configuration
|
||||
mainWorkspaces = builtins.genList (x: x+1) (9 ++ [0]);
|
||||
workspaceName = key: let
|
||||
inherit (builtins) hasAttr;
|
||||
keyNames = {
|
||||
"0" = "10";
|
||||
};
|
||||
in
|
||||
if hasAttr key keyNames then keyNames."${key}" else key;
|
||||
|
||||
inherit (outputs.packages.${pkgs.system}) wm-helpers;
|
||||
keysetting = "${wm-helpers}/bin/keysetting";
|
||||
in
|
||||
{
|
||||
# FIXME this is temporary just to get it working, need to make wm-common an
|
||||
# option first
|
||||
imports = [
|
||||
./wm-common.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
kitty
|
||||
dolphin
|
||||
rofi-wayland
|
||||
wev
|
||||
dunst
|
||||
pkgs.brightnessctl
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
# Xwayland fix
|
||||
xwayland.force_zero_scaling = mkd true;
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor = mkd ",preferred,auto,auto";
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
exec-once = [
|
||||
notifydaemon
|
||||
polkit-agent
|
||||
];
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# Some default env vars.
|
||||
env = mkd "XCURSOR_SIZE,24";
|
||||
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input = {
|
||||
kb_layout = mkd "us";
|
||||
# kb_variant =
|
||||
# kb_model =
|
||||
# kb_options =
|
||||
# kb_rules =
|
||||
|
||||
follow_mouse = mkd true;
|
||||
|
||||
touchpad.natural_scroll = mkd true;
|
||||
|
||||
sensitivity = mkd 0; # -1.0 - 1.0, 0 means no modification.
|
||||
};
|
||||
|
||||
general = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = mkd 5;
|
||||
gaps_out = mkd 20;
|
||||
border_size = mkd 2;
|
||||
"col.active_border" = mkd "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = mkd "rgba(595959aa)";
|
||||
|
||||
layout = mkd "dwindle";
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = mkd false;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
rounding = mkd 10;
|
||||
|
||||
blur = {
|
||||
enabled = mkd true;
|
||||
size = mkd 3;
|
||||
passes = mkd 1;
|
||||
};
|
||||
|
||||
drop_shadow = mkd true;
|
||||
shadow_range = mkd 4;
|
||||
shadow_render_power = mkd 3;
|
||||
"col.shadow" = mkd "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = mkd true;
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = mkd "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = mkd true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = mkd true; # you probably want this
|
||||
};
|
||||
|
||||
master = {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = mkd "true";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = mkd "false";
|
||||
};
|
||||
|
||||
misc = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = mkd 0; # Set to 0 to disable the anime mascot wallpapers
|
||||
};
|
||||
|
||||
"$mod" = mkd "SUPER";
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = [
|
||||
"$mod, Q, exec, ${terminal}"
|
||||
"$mod, Return, exec, ${terminal}"
|
||||
"$mod, C, killactive, "
|
||||
"$mod, M, exit, "
|
||||
"$mod, E, exec, ${files}"
|
||||
"$mod, V, togglefloating, "
|
||||
"$mod, R, exec, ${rofi} -show drun"
|
||||
"$mod, P, pseudo," # dwindle"
|
||||
"$mod, O, togglesplit," # dwindle"
|
||||
|
||||
# Move focus with mod + arrow keys
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, l, movefocus, r"
|
||||
|
||||
# Switch workspaces with mod + [0-9]
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
#] ++ map () [] ++ TODO reconfigure these with workspace helper function
|
||||
#[
|
||||
# Move active window to a workspace with mod + SHIFT + [0-9]
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
"$mod, S, togglespecialworkspace, magic"
|
||||
"$mod SHIFT, S, movetoworkspace, special:magic"
|
||||
|
||||
# Scroll through existing workspaces with mod + scroll
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
|
||||
# show this file (help)
|
||||
("$mod, slash, exec, ${terminal} -e ${pkgs.neovim}/bin/nvim '+set nomodifiable' '+noremap q :q<CR>' " + args.vars.self.outPath + "/home/hyprland.nix")
|
||||
];
|
||||
|
||||
# repeat, ignore mods
|
||||
bindei = [
|
||||
# Volume controls
|
||||
",XF86AudioRaiseVolume, exec, ${keysetting} volumeup"
|
||||
",XF86AudioLowerVolume, exec, ${keysetting} volumedown"
|
||||
",XF86AudioMute, exec, ${keysetting} mute"
|
||||
",XF86AudioMicMute, exec, ${keysetting} micmute"
|
||||
|
||||
# brightness
|
||||
",XF86KbdBrightnessDown, exec, ${keysetting} keydown"
|
||||
",XF86KbdBrightnessUp, exec, ${keysetting} keyup"
|
||||
",XF86MonBrightnessDown, exec, ${keysetting} mondown"
|
||||
",XF86MonBrightnessUp, exec, ${keysetting} monup"
|
||||
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mod + LMB/RMB and dragging
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
# RMB sucks on laptop
|
||||
"$mod SHIFT, mouse:272, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
5
home/package-sets/default.nix
Normal file
5
home/package-sets/default.nix
Normal file
@ -0,0 +1,5 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
}
|
22
home/profile/base.nix
Normal file
22
home/profile/base.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{ lib, pkgs, config, osConfig, ... }:
|
||||
let
|
||||
cfg = config.nixfiles.profile.base;
|
||||
in
|
||||
{
|
||||
# imports = [
|
||||
# ./comma.nix
|
||||
# ];
|
||||
# home.username = "nullbite";
|
||||
# home.homeDirectory = "/home/nullbite";
|
||||
|
||||
options.nixfiles.profile.base = {
|
||||
enable = lib.mkEnableOption "base profile";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nixfiles.programs.comma.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
btop
|
||||
];
|
||||
};
|
||||
}
|
6
home/profile/default.nix
Normal file
6
home/profile/default.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [
|
||||
./base.nix
|
||||
];
|
||||
}
|
20
home/programs/comma.nix
Normal file
20
home/programs/comma.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ lib, pkgs, config, inputs, ... } @args:
|
||||
let
|
||||
cfg = config.nixfiles.programs.comma;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
];
|
||||
|
||||
options.nixfiles.programs.comma = {
|
||||
enable = lib.mkEnableOption "comma";
|
||||
};
|
||||
|
||||
config = {
|
||||
programs.nix-index.symlinkToCacheHome = lib.mkDefault cfg.enable;
|
||||
home.packages = with pkgs; lib.optionals cfg.enable [
|
||||
comma
|
||||
];
|
||||
};
|
||||
}
|
6
home/programs/default.nix
Normal file
6
home/programs/default.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [
|
||||
./comma.nix
|
||||
];
|
||||
}
|
@ -1,6 +1,12 @@
|
||||
# Configuration for root user.
|
||||
# TODO this file is sorta an exception to my repo organization, it should
|
||||
# probably be somewhere else.
|
||||
{ config, lib, pkgs, ... }@args:
|
||||
{
|
||||
imports = [
|
||||
./comma.nix
|
||||
./.
|
||||
];
|
||||
config = {
|
||||
nixfiles.programs.comma.enable = true;
|
||||
};
|
||||
}
|
||||
|
6
home/sessions/default.nix
Normal file
6
home/sessions/default.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
];
|
||||
}
|
257
home/sessions/hyprland.nix
Normal file
257
home/sessions/hyprland.nix
Normal file
@ -0,0 +1,257 @@
|
||||
{ lib, pkgs, config, osConfig ? {}, outputs, ... }@args:
|
||||
let
|
||||
cfg = config.nixfiles.sessions.hyprland;
|
||||
mkd = lib.mkDefault;
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
files = "${pkgs.dolphin}/bin/dolphin";
|
||||
rofi = "${pkgs.rofi-wayland}/bin/rofi";
|
||||
notifydaemon = "${pkgs.dunst}/bin/dunst";
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
polkit-agent = "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";
|
||||
|
||||
# Hyprland workspace configuration
|
||||
mainWorkspaces = builtins.genList (x: x+1) (9 ++ [0]);
|
||||
workspaceName = key: let
|
||||
inherit (builtins) hasAttr;
|
||||
keyNames = {
|
||||
"0" = "10";
|
||||
};
|
||||
in
|
||||
if hasAttr key keyNames then keyNames."${key}" else key;
|
||||
|
||||
inherit (outputs.packages.${pkgs.system}) wm-helpers;
|
||||
keysetting = "${wm-helpers}/bin/keysetting";
|
||||
in
|
||||
{
|
||||
# FIXME this is temporary just to get it working, need to make wm-common an
|
||||
# option first
|
||||
# imports = [
|
||||
# ./wm-common.nix
|
||||
# ];
|
||||
|
||||
options.nixfiles.sessions.hyprland = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = if (builtins.hasAttr "home-manager" osConfig) then osConfig.nixfiles.sessions.hyprland.enable else false;
|
||||
example = true;
|
||||
description = "Whether to enable hyprland.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nixfiles.common.wm.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
kitty
|
||||
dolphin
|
||||
rofi-wayland
|
||||
wev
|
||||
dunst
|
||||
pkgs.brightnessctl
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
# Xwayland fix
|
||||
xwayland.force_zero_scaling = mkd true;
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor = mkd ",preferred,auto,auto";
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
exec-once = [
|
||||
notifydaemon
|
||||
polkit-agent
|
||||
];
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# Some default env vars.
|
||||
env = mkd "XCURSOR_SIZE,24";
|
||||
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input = {
|
||||
kb_layout = mkd "us";
|
||||
# kb_variant =
|
||||
# kb_model =
|
||||
# kb_options =
|
||||
# kb_rules =
|
||||
|
||||
follow_mouse = mkd true;
|
||||
|
||||
touchpad.natural_scroll = mkd true;
|
||||
|
||||
sensitivity = mkd 0; # -1.0 - 1.0, 0 means no modification.
|
||||
};
|
||||
|
||||
general = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = mkd 5;
|
||||
gaps_out = mkd 20;
|
||||
border_size = mkd 2;
|
||||
"col.active_border" = mkd "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = mkd "rgba(595959aa)";
|
||||
|
||||
layout = mkd "dwindle";
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = mkd false;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
rounding = mkd 10;
|
||||
|
||||
blur = {
|
||||
enabled = mkd true;
|
||||
size = mkd 3;
|
||||
passes = mkd 1;
|
||||
};
|
||||
|
||||
drop_shadow = mkd true;
|
||||
shadow_range = mkd 4;
|
||||
shadow_render_power = mkd 3;
|
||||
"col.shadow" = mkd "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = mkd true;
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = mkd "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = mkd true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = mkd true; # you probably want this
|
||||
};
|
||||
|
||||
master = {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = mkd "true";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = mkd "false";
|
||||
};
|
||||
|
||||
misc = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = mkd 0; # Set to 0 to disable the anime mascot wallpapers
|
||||
};
|
||||
|
||||
"$mod" = mkd "SUPER";
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = [
|
||||
"$mod, Q, exec, ${terminal}"
|
||||
"$mod, Return, exec, ${terminal}"
|
||||
"$mod, C, killactive, "
|
||||
"$mod, M, exit, "
|
||||
"$mod, E, exec, ${files}"
|
||||
"$mod, V, togglefloating, "
|
||||
"$mod, R, exec, ${rofi} -show drun"
|
||||
"$mod, P, pseudo," # dwindle"
|
||||
"$mod, O, togglesplit," # dwindle"
|
||||
|
||||
# Move focus with mod + arrow keys
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, l, movefocus, r"
|
||||
|
||||
# Switch workspaces with mod + [0-9]
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
#] ++ map () [] ++ TODO reconfigure these with workspace helper function
|
||||
#[
|
||||
# Move active window to a workspace with mod + SHIFT + [0-9]
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
"$mod, S, togglespecialworkspace, magic"
|
||||
"$mod SHIFT, S, movetoworkspace, special:magic"
|
||||
|
||||
# Scroll through existing workspaces with mod + scroll
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
|
||||
# show this file (help)
|
||||
("$mod, slash, exec, ${terminal} -e ${pkgs.neovim}/bin/nvim '+set nomodifiable' '+noremap q :q<CR>' " + args.vars.self.outPath + "/home/hyprland.nix")
|
||||
];
|
||||
|
||||
# repeat, ignore mods
|
||||
bindei = [
|
||||
# Volume controls
|
||||
",XF86AudioRaiseVolume, exec, ${keysetting} volumeup"
|
||||
",XF86AudioLowerVolume, exec, ${keysetting} volumedown"
|
||||
",XF86AudioMute, exec, ${keysetting} mute"
|
||||
",XF86AudioMicMute, exec, ${keysetting} micmute"
|
||||
|
||||
# brightness
|
||||
",XF86KbdBrightnessDown, exec, ${keysetting} keydown"
|
||||
",XF86KbdBrightnessUp, exec, ${keysetting} keyup"
|
||||
",XF86MonBrightnessDown, exec, ${keysetting} mondown"
|
||||
",XF86MonBrightnessUp, exec, ${keysetting} monup"
|
||||
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mod + LMB/RMB and dragging
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
# RMB sucks on laptop
|
||||
"$mod SHIFT, mouse:272, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
{ pkgs, lib, config, osConfig, options, ...}:
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
in
|
||||
{
|
||||
# Common options for standalone window managers; many of these (or
|
||||
# alternatives thereof) are pulled in by desktop environments.
|
||||
services = {
|
||||
udiskie = {
|
||||
enable = mkDefault true;
|
||||
automount = mkDefault false;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,13 +1,17 @@
|
||||
{ lib, pkgs, osConfig, ... }:
|
||||
{
|
||||
imports = [
|
||||
../../home/common.nix
|
||||
../../home/hyprland.nix
|
||||
../../home
|
||||
];
|
||||
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = ",preferred,auto,1.25";
|
||||
config = {
|
||||
nixfiles = {
|
||||
profile.base.enable = true;
|
||||
};
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = ",preferred,auto,1.25";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user