added kmonad

This commit is contained in:
Nickiel12 2022-10-08 18:52:26 -07:00
parent 4c225e2cf2
commit 2bd188a33a
4 changed files with 78 additions and 6 deletions

View file

@ -2,13 +2,13 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, lib, pkgs, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./kmonad-module.nix
# ./kmonad-module.nix
];
# nixpkgs.config.allowBroken = true;
@ -54,7 +54,15 @@
# Configure keymap in X11
services.xserver.layout = "us";
services.xserver.xkbOptions = "caps:super";
services.kmonad.enable = true;
services.kmonad = {
enable = true;
config = builtins.readFile ./rsrcs/keyboard.kbd;
defcfg = {
enable = true;
fallthrough = true;
};
};
nixpkgs.config.allowUnfree = true;
@ -86,7 +94,7 @@
# Define a user account. Don't forget to set a password with passwd.
users.users.nixolas = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" ]; # Enable sudo for the user.
extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" "input" "uinput" ]; # Enable sudo for the user.
shell = pkgs.zsh;
password = "password";
};
@ -112,6 +120,12 @@
extraOptions = "experimental-features = nix-command flakes";
};
services.udev.extraRules =
''
# KMonad user access to /dev/uinput
KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
'';
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;

View file

@ -21,7 +21,43 @@
"type": "github"
}
},
"kmonad": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"dir": "nix",
"lastModified": 1664950533,
"narHash": "sha256-TooqJDgGNyyhpIGB8U28Y3poYUFW4jeH9h59D7cKSls=",
"owner": "kmonad",
"repo": "kmonad",
"rev": "af8c2253754882b5b50c824ce9906d35f9b95657",
"type": "github"
},
"original": {
"dir": "nix",
"owner": "kmonad",
"repo": "kmonad",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1653326962,
"narHash": "sha256-W8feCYqKTsMre4nAEpv5Kx1PVFC+hao/LwqtB2Wci/8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "41cc1d5d9584103be4108c1815c350e07c807036",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1665081174,
"narHash": "sha256-6hsmzdhdy8Kbvl5e0xZNE83pW3fKQvNiobJkM6KQrgA=",
@ -40,7 +76,8 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
"kmonad": "kmonad",
"nixpkgs": "nixpkgs_2"
}
},
"utils": {

View file

@ -7,9 +7,11 @@
url = github:nix-community/home-manager;
inputs.nixpkgs.follows = "nixpkgs";
};
kmonad.url = "github:kmonad/kmonad?dir=nix";
};
outputs = { self, nixpkgs, home-manager }:
outputs = { self, nixpkgs, home-manager, kmonad }:
let
user = "nixolas";
system = "x86_64-linux";
@ -26,6 +28,7 @@
specialArgs = { inherit user; };
modules = [
./configuration.nix
kmonad.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;

18
rsrcs/keyboard.kbd Normal file
View file

@ -0,0 +1,18 @@
(defalias cc (tap-next esc lmet))
(defalias qw (layer-switch qwerty))
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet lalt spc ralt cmp rctl
)
(deflayer qwerty
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
@cc a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet lalt spc ralt rctl @qw
)