This commit is contained in:
Daniel Ziltener 2024-07-09 20:35:03 +02:00
parent 9067a856af
commit 629245ca0f
Signed by: zilti
GPG key ID: B38976E82C9DAE42
9 changed files with 55 additions and 500 deletions

View file

@ -56,14 +56,16 @@
# services.xserver.enable = true; # services.xserver.enable = true;
services.xserver = { services.xserver = {
enable = true; enable = true;
layout = "de"; xkb.layout = "de";
xkbOptions = "eurosign;e,caps:escape"; xkb.options = "eurosign;e,caps:escape";
libinput.enable = true;
displayManager = {
sddm.enable = true;
};
}; };
services.displayManager = {
sddm.enable = true;
};
services.libinput.enable = true;
programs.hyprland.enable = true; programs.hyprland.enable = true;
services.flatpak.enable = true; services.flatpak.enable = true;
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;

View file

@ -16,18 +16,6 @@
enable = true; enable = true;
text = builtins.readFile ./templates; text = builtins.readFile ./templates;
}; };
home.file.".emacs.d/lib/smartparens-emacs-lisp.el" = {
enable = true;
text = builtins.readFile ./lib/smartparens-emacs-lisp.el;
};
home.file.".emacs.d/lib/smartparens-scheme.el" = {
enable = true;
text = builtins.readFile ./lib/smartparens-scheme.el;
};
home.file.".emacs.d/lib/smartparens-clojure.el" = {
enable = true;
text = builtins.readFile ./lib/smartparens-clojure.el;
};
programs.emacs = { programs.emacs = {
enable = true; enable = true;
package = pkgs.emacs29-pgtk; package = pkgs.emacs29-pgtk;

View file

@ -1,59 +0,0 @@
;;; smartparens-clojure.el --- Additional configuration for Clojure mode. -*- lexical-binding: t; -*-
;; Copyright (C) 2016, 2018-2019 Vitalie Spinu, Matus Goljer
;; Author: Vitalie Spinu <spinuvit@gmail.com>
;; Maintainer: Matus Goljer <matus.goljer@gmail.com>
;; Created: 14 July 2016
;; Keywords: abbrev convenience editing
;; URL: https://github.com/Fuco1/smartparens
;;
;; This file is not part of GNU Emacs.
;;
;;; License:
;;
;; This file is part of Smartparens.
;;
;; Smartparens is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; Smartparens is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with Smartparens. If not, see <http://www.gnu.org/licenses/>.
;;
;;; Commentary:
;;
;; This file provides some additional configuration for Clojure mode. To use
;; it, simply add:
;;
;; (require 'smartparens-clojure)
;;
;; into your configuration. You can use this in conjunction with the
;; default config or your own configuration.
;;
;;; Code:
(require 'smartparens)
(defvar sp-clojure-prefix "\\(?:[@`'#~,_?^]+\\)"
"Prefix used in `sp-sexp-prefix' for clojure modes.")
(dolist (mode '(clojure-mode clojurescript-mode clojurec-mode cider-repl-mode))
(add-to-list 'sp-sexp-prefix `(,mode regexp ,sp-clojure-prefix)))
;; Match "`" with "`" in strings and comments
(sp-with-modes sp-clojure-modes
(sp-local-pair "'" nil :actions nil)
(sp-local-pair "`" "`"
:when '(sp-in-string-p
sp-in-comment-p)
:unless '(sp-lisp-invalid-hyperlink-p)))
(provide 'smartparens-clojure)
;;; smartparens-clojure.el ends here

View file

@ -1,61 +0,0 @@
;;; smartparens-clojure.el --- Additional configuration for Emacs Lisp mode. -*- lexical-binding: t; -*-
;; Copyright (C) 2023 Daniel Ziltener
;; Author: Daniel Ziltener <dziltener@lyrion.ch>
;; Created: 13 December 2023
;; Keywords: abbrev convenience editing
;; URL: https://github.com/Fuco1/smartparens
;;
;; This file is not part of GNU Emacs.
;;
;;; License:
;;
;; This file is part of Smartparens.
;;
;; Smartparens is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; Smartparens is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with Smartparens. If not, see <http://www.gnu.org/licenses/>.
;;
;;; Commentary:
;;
;; This file provides some additional configuration for Emacs Lisp mode. To use
;; it, simply add:
;;
;; (require 'smartparens-emacs-lisp)
;;
;; into your configuration. You can use this in conjunction with the
;; default config or your own configuration.
;;
;;; Code:
(require 'smartparens)
(defvar sp-emacs-lisp-prefix "\\(?:[@`'#,_]+\\)"
"Prefix used in `sp-sexp-prefix' for emacs lisp mode.")
(defvar sp-emacs-lisp-modes '(emacs-lisp-mode lisp-data-mode)
"List of Emacs Lisp-related modes.")
(dolist (mode sp-emacs-lisp-modes)
(add-to-list 'sp-sexp-prefix `(,mode regexp ,sp-emacs-lisp-prefix)))
;; Match "`" with "`" in strings and comments
(sp-with-modes sp-emacs-lisp-modes
(sp-local-pair "'" nil :actions nil)
(sp-local-pair "`" "`"
:when '(sp-in-string-p
sp-in-comment-p)))
(provide 'smartparens-emacs-lisp)
;;; smartparens-emacs-lisp.el ends here

View file

@ -1,60 +0,0 @@
;;; smartparens-clojure.el --- Additional configuration for Emacs Lisp mode. -*- lexical-binding: t; -*-
;; Copyright (C) 2023 Daniel Ziltener
;; Author: Daniel Ziltener <dziltener@lyrion.ch>
;; Created: 13 December 2023
;; Keywords: abbrev convenience editing
;; URL: https://github.com/Fuco1/smartparens
;;
;; This file is not part of GNU Emacs.
;;
;;; License:
;;
;; This file is part of Smartparens.
;;
;; Smartparens is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; Smartparens is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with Smartparens. If not, see <http://www.gnu.org/licenses/>.
;;
;;; Commentary:
;;
;; This file provides some additional configuration for Emacs Lisp mode. To use
;; it, simply add:
;;
;; (require 'smartparens-scheme)
;;
;; into your configuration. You can use this in conjunction with the
;; default config or your own configuration.
;;
;;; Code:
(require 'smartparens)
(defvar sp-scheme-prefix "\\(?:[@`'#,_]+\\)"
"Prefix used in `sp-sexp-prefix' for emacs lisp mode.")
(defvar sp-scheme-modes '(scheme-mode geiser-mode)
"List of Scheme-related modes.")
(dolist (mode sp-scheme-modes)
(add-to-list 'sp-sexp-prefix `(,mode regexp ,sp-scheme-prefix)))
;; Match "`" with "`" in strings and comments
(sp-with-modes sp-scheme-modes
(sp-local-pair "'" nil :actions nil)
(sp-local-pair "`" "`"
:when '(sp-in-string-p
sp-in-comment-p)))
(provide 'smartparens-scheme)
;;; smartparens-scheme.el ends here

View file

@ -41,181 +41,6 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1720108799,
"narHash": "sha256-AxRkTJlbB8r7aG6gvc7IaLhc2T9TO4/8uqanKRxukBQ=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "a5c0d57325c5f0814c39110a70ca19c070ae9486",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprland": {
"inputs": {
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1719317162,
"narHash": "sha256-t3N0VzDJdxchdmHkbGMGqvoxTq/Bm7Y98upU4icPYLY=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "918d8340afd652b011b937d29d5eea0be08467f5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"ref": "v0.41.2",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
"locked": {
"lastModified": 1718746314,
"narHash": "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "1b61f0093afff20ab44d88ad707aed8bf2215290",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1720381373,
"narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1720472788,
"narHash": "sha256-FZjoeMfgQLeBFGvpaUBnTMP4evAv44LDPr7mv4Tzc04=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "c342d5ca44ec4ecbd39b595d458ea58214b5d871",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1720215857,
"narHash": "sha256-JPdL+Qul+jEueAn8CARfcWP83eJgwkhMejQYfDvrgvU=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "d5fa094ca27e0039be5e94c0a80ae433145af8bb",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1693833173,
"narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "ac030bd9ba98e318e1f4c4328d60766ade8ebe8b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1701156937, "lastModified": 1701156937,
@ -233,22 +58,6 @@
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": {
"lastModified": 1700612854,
"narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1720386169, "lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
@ -268,30 +77,7 @@
"inputs": { "inputs": {
"flatpaks": "flatpaks", "flatpaks": "flatpaks",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_3",
"split-monitor-workspaces": "split-monitor-workspaces"
}
},
"split-monitor-workspaces": {
"inputs": {
"hyprland": [
"hyprland"
],
"nix-filter": "nix-filter"
},
"locked": {
"lastModified": 1698179193,
"narHash": "sha256-zDW+72enuRGuLLRbO1+pYk8FgRjQrBGksIAOk88OwOI=",
"owner": "Duckonaut",
"repo": "split-monitor-workspaces",
"rev": "2b1abdbf9e9de9ee660540167c8f51903fa3d959",
"type": "github"
},
"original": {
"owner": "Duckonaut",
"repo": "split-monitor-workspaces",
"type": "github"
} }
}, },
"systems": { "systems": {
@ -309,21 +95,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@ -341,32 +112,6 @@
"repo": "flake-utils", "repo": "flake-utils",
"type": "github" "type": "github"
} }
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1700508250,
"narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -23,17 +23,10 @@
url = "github:nix-community/home-manager/release-24.05"; url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland = {
url = "github:hyprwm/Hyprland/v0.41.2";
};
hyprsplit = {
url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland";
};
flatpaks.url = "github:GermanBread/declarative-flatpak/stable"; flatpaks.url = "github:GermanBread/declarative-flatpak/stable";
}; };
outputs = inputs@{ nixpkgs, home-manager, hyprland, hyprsplit, flatpaks, ... }: { outputs = inputs@{ nixpkgs, home-manager, flatpaks, ... }: {
nixosConfigurations = { nixosConfigurations = {
"ziltis-desktop" = nixpkgs.lib.nixosSystem { "ziltis-desktop" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";

View file

@ -1,4 +1,4 @@
args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }: args@{ config, pkgs, split-monitor-workspaces, flatpaks, ... }:
{ {
home.username = "zilti"; home.username = "zilti";
@ -40,7 +40,7 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
# (nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; }) # (nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; })
nerdfonts nerdfonts
nil nil
nixfmt nixfmt-classic
nwg-displays nwg-displays
pciutils pciutils
# perl538Packages.DigestHMAC # perl538Packages.DigestHMAC
@ -85,7 +85,7 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
home.sessionVariables = { home.sessionVariables = {
#PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.local/share/password-store"; #PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.local/share/password-store";
PATH = "$PATH:~/.local/bin"; PATH = "$PATH:~/.local/bin";
PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store"; #PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store";
SSH_ASKPASS = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass"; SSH_ASKPASS = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass";
CHICKEN_DOC_REPOSITORY = "$XDG_DATA_HOME/chicken/doc"; CHICKEN_DOC_REPOSITORY = "$XDG_DATA_HOME/chicken/doc";
CHICKEN_INSTALL_REPOSITORY = "$XDG_DATA_HOME/chicken/eggs"; CHICKEN_INSTALL_REPOSITORY = "$XDG_DATA_HOME/chicken/eggs";
@ -268,8 +268,6 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
programs.ripgrep = { enable = true; }; programs.ripgrep = { enable = true; };
programs.gpg = { enable = true; };
home.file.".config/senpai/senpai.scfg" = { home.file.".config/senpai/senpai.scfg" = {
enable = true; enable = true;
text = '' text = ''
@ -280,11 +278,23 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
''; '';
}; };
home.file.".gnupg/gpg-agent.conf" = { programs.gpg = {
enable = true; enable = true;
text = '' settings = {
grab utf8-strings = true;
pinentry-program ${pkgs.pinentry-qt}/bin/pinentry-qt auto-key-retrieve = true;
};
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
defaultCacheTtl = 7200;
maxCacheTtl = 7200;
defaultCacheTtlSsh = 7200;
maxCacheTtlSsh = 7200;
pinentryPackage = pkgs.pinentry-qt;
extraConfig = ''
allow-emacs-pinentry allow-emacs-pinentry
allow-loopback-pinentry allow-loopback-pinentry
''; '';
@ -295,7 +305,7 @@ args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }:
settings = { settings = {
base_url = "vaultwarden.lyrion.ch"; base_url = "vaultwarden.lyrion.ch";
email = "dziltener@lyrion.ch"; email = "dziltener@lyrion.ch";
pinentry = "qt"; pinentry = pkgs.pinentry-qt;
}; };
}; };
@ -494,6 +504,7 @@ services.hypridle = {
timeout = 1200; timeout = 1200;
on-timeout = "hyprctl dispatch dpms off"; on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on"; on-resume = "hyprctl dispatch dpms on";
}
]; ];
}; };
}; };

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, hyprland, wayland, hyprsplit, ... }: { config, lib, pkgs, wayland, ... }:
{ {
@ -12,15 +12,11 @@
# rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be"; # rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
# sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8="; # sha256 = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
# } + /themes/${flavour}.conf); # } + /themes/${flavour}.conf);
}; # };
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
systemd.enable = true; systemd.enable = true;
package = hyprland.packages.${pkgs.system}.hyprland;
plugins = [
hyprsplit.packages.${pkgs.system}.hyprsplit
];
settings = { settings = {
source = source =
[ [
@ -82,7 +78,7 @@
default_split_ratio = 1.5; default_split_ratio = 1.5;
}; };
master = { master = {
new_is_master = false; new_status = "slave";
orientation = "center"; orientation = "center";
workspace = "w[g2] layoutopt:orientation:left"; workspace = "w[g2] layoutopt:orientation:left";
always_center_master = true; always_center_master = true;
@ -111,9 +107,9 @@
# Screenshots # Screenshots
#"SHIFT, PRINT, exec, hyprshot -m region" #"SHIFT, PRINT, exec, hyprshot -m region"
'' ''
PRINT, exec, ${pkgs.grim}/bin/grim -l 9 -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -'' $mainMod, PRINT, exec, ${pkgs.grim}/bin/grim -l 9 -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -''
'' ''
SHIFT, PRINT, exec, ${pkgs.grim}/bin/grim -l 9 - | ${pkgs.swappy}/bin/swappy -f -'' $mainMod SHIFT, PRINT, exec, ${pkgs.grim}/bin/grim -l 9 - | ${pkgs.swappy}/bin/swappy -f -''
"$mainMod SHIFT, L, exec, $lockscreen" "$mainMod SHIFT, L, exec, $lockscreen"
# Move focus # Move focus
"$mainMod, left, movefocus, l" "$mainMod, left, movefocus, l"
@ -130,31 +126,31 @@
"$mainMod SHIFT, T, lockactivegroup, toggle" "$mainMod SHIFT, T, lockactivegroup, toggle"
# Switch workspaces # Switch workspaces
"$mainMod, 1, split:workspace, 1" "$mainMod, 1, workspace, 1"
"$mainMod, 2, split:workspace, 2" "$mainMod, 2, workspace, 2"
"$mainMod, 3, split:workspace, 3" "$mainMod, 3, workspace, 3"
"$mainMod, 4, split:workspace, 4" "$mainMod, 4, workspace, 4"
"$mainMod, 5, split:workspace, 5" "$mainMod, 5, workspace, 5"
"$mainMod, 6, split:workspace, 6" "$mainMod, 6, workspace, 6"
"$mainMod, 7, split:workspace, 7" "$mainMod, 7, workspace, 7"
"$mainMod, 8, split:workspace, 8" "$mainMod, 8, workspace, 8"
"$mainMod, 9, split:workspace, 9" "$mainMod, 9, workspace, 9"
# Move windows to workspaces # Move windows to workspaces
"$mainMod SHIFT, 1, split:movetoworkspace, 1" "$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, split:movetoworkspace, 2" "$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, split:movetoworkspace, 3" "$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, split:movetoworkspace, 4" "$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, split:movetoworkspace, 5" "$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, split:movetoworkspace, 6" "$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, split:movetoworkspace, 7" "$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, split:movetoworkspace, 8" "$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, split:movetoworkspace, 9" "$mainMod SHIFT, 9, movetoworkspace, 9"
# Scroll through workspaces # Scroll through workspaces
"$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1" "$mainMod, mouse_up, workspace, e-1"
# Special workspace # Special workspace
"SHIFT ALT, RETURN, togglespecialworkspace" "SHIFT ALT, RETURN, togglespecialworkspace"
"SHIFT, S, movetoworkspace, special" "$mainMod SHIFT, S, movetoworkspace, special"
]; ];
# Mouse bindings # Mouse bindings