diff --git a/dotfiles/dot_config/kanata/main.kbd b/dotfiles/dot_config/kanata/main.kbd new file mode 100644 index 0000000..87c37e9 --- /dev/null +++ b/dotfiles/dot_config/kanata/main.kbd @@ -0,0 +1,33 @@ + +(defcfg + linux-dev /dev/input + +;; Only one defsrc is allowed. +;; +;; defsrc defines the keys that will be intercepted by kanata. The order of the +;; keys matches with deflayer declarations and all deflayer declarations must +;; have the same number of keys as defsrc. Any keys not listed in defsrc will +;; be passed straight to the operating system. +(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 rmet +) + +;; The first layer defined is the layer that will be active by default when +;; kanata starts up. This layer is the standard QWERTY layout except for the +;; backtick/grave key (@grl) which is an alias for a tap-hold key. +(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 [ ] \ + @ctrlesc a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lalt lmet spc rmet ralt +) + +(defalias + ;; tap for escape, hold for lctl + ctrlesc (tap-hold 200 200 esc lctl) +) diff --git a/flake.lock b/flake.lock index 7f094c1..e3b86c4 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,45 @@ { "nodes": { + "affinity-nix": { + "inputs": { + "elemental-wine-source": "elemental-wine-source", + "nixpkgs": "nixpkgs", + "winetricks-source": "winetricks-source" + }, + "locked": { + "lastModified": 1726286596, + "narHash": "sha256-3ibDdGv2ns2N7ol3qVpfpPtPAf7QJleIg1xfKT3E+i0=", + "owner": "mrshmllow", + "repo": "affinity-nix", + "rev": "13ab0d6b33c5d7ba556f51a523d84ba6d2acba5a", + "type": "github" + }, + "original": { + "owner": "mrshmllow", + "ref": "main", + "repo": "affinity-nix", + "type": "github" + } + }, + "elemental-wine-source": { + "flake": false, + "locked": { + "host": "gitlab.winehq.org", + "lastModified": 1693121664, + "narHash": "sha256-eMN4SN8980yteYODN2DQIVNEJMsGQE8OIdPs/7DbvqQ=", + "owner": "ElementalWarrior", + "repo": "wine", + "rev": "c12ed1469948f764817fa17efd2299533cf3fe1c", + "type": "gitlab" + }, + "original": { + "host": "gitlab.winehq.org", + "owner": "ElementalWarrior", + "ref": "c12ed1469948f764817fa17efd2299533cf3fe1c", + "repo": "wine", + "type": "gitlab" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -53,6 +93,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1717786204, + "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { "locked": { "lastModified": 1726969270, "narHash": "sha256-8fnFlXBgM/uSvBlLWjZ0Z0sOdRBesyNdH0+esxqizGc=", @@ -68,7 +124,7 @@ "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs_2": { "locked": { "lastModified": 1726937504, "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", @@ -86,11 +142,29 @@ }, "root": { "inputs": { + "affinity-nix": "affinity-nix", "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs": "nixpkgs_2", + "nixpkgs-stable": "nixpkgs-stable" + } + }, + "winetricks-source": { + "flake": false, + "locked": { + "lastModified": 1704453875, + "narHash": "sha256-YTEgb19aoM54KK8/IjrspoChzVnWAEItDlTxpfpS52w=", + "owner": "winetricks", + "repo": "winetricks", + "rev": "bc91718a5cad45e9f33de9b351a5960d5395bed5", + "type": "github" + }, + "original": { + "owner": "winetricks", + "ref": "20240105", + "repo": "winetricks", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index e9ac759..673dbaa 100644 --- a/flake.nix +++ b/flake.nix @@ -5,16 +5,18 @@ inputs = { nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-24.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch. Use github:gmodena/nix-flatpak/?ref= to pin releases. + + affinity-nix.url = "github:mrshmllow/affinity-nix/main"; }; - outputs = inputs@{self, nixpkgs, home-manager, nix-flatpak, nixos-hardware, ... }: { + outputs = inputs@{self, nixpkgs, home-manager, nix-flatpak, ... }: { nixosConfigurations = { eddie = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; diff --git a/home/home.nix b/home/home.nix index 7a0e5db..ab0c93a 100644 --- a/home/home.nix +++ b/home/home.nix @@ -17,7 +17,8 @@ age figlet ffmpeg - + + usbutils pciutils util-linux coreutils @@ -43,19 +44,20 @@ nnn isync msmtp - + jetbrains-mono + bitwarden-cli bitwarden-desktop tailscale - + protonplus gnomeExtensions.just-perfection gnomeExtensions.dash-to-dock gnomeExtensions.pano - gnome.gnome-software - gnome.gnome-tweaks + gnome-software + gnome-tweaks colloid-gtk-theme colloid-icon-theme - turtle + #turtle papers newsflash helvum @@ -106,6 +108,7 @@ }; xdg.systemDirs.data = [ + "/home/emenel/.local/share/applications/wine/Programs" "/home/emenel/.local/share/applications" "/var/lib/flatpak/exports/share" "/home/emenel/.local/share/flatpak/exports/share" @@ -125,6 +128,8 @@ recursive = true; }; + xdg.configFile."emacs".enable = false; + #xdg.configFile."fish/functions/ll.fish".source = ../dotfiles/dot_config/fish/functions/ll.fish; #xdg.configFile."fish/functions/la.fish".source = ../dotfiles/dot_config/fish/functions/la.fish; #xdg.configFile."fish/functions/lg.fish".source = ../dotfiles/dot_config/fish/functions/lg.fish; diff --git a/system/eddie/configuration.nix b/system/eddie/configuration.nix index e67b9bd..ad43ccb 100644 --- a/system/eddie/configuration.nix +++ b/system/eddie/configuration.nix @@ -15,7 +15,9 @@ boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.linuxPackages_zen; - boot = { + systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"]; + + boot = { # TODO: confirm this works # https://forums.developer.nvidia.com/t/550-54-14-cannot-create-sg-table-for-nvkmskapimemory-spammed-when-launching-chrome-on-wayland/284775/26 initrd.kernelModules = [ "nvidia" "i915" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; @@ -26,7 +28,7 @@ hardware = { openrazer.enable = true; openrazer.users = [ "emenel" ]; - opengl.enable = true; + graphics.enable = true; nvidia = { package = config.boot.kernelPackages.nvidiaPackages.mkDriver {