From c8f927f4dcf268f39c6571144198cbfec7121969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 23 Feb 2023 13:34:59 +0100 Subject: [PATCH 1/5] nvim: add smartcolumn --- flake.lock | 17 ++++++++ flake.nix | 6 +++ modules/programs/hyprland/config.nix | 58 +++++++++++++++++----------- modules/programs/nvim/default.nix | 7 ++++ modules/programs/nvim/init.lua | 10 +++-- 5 files changed, 72 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index cbc747d..6a627ca 100644 --- a/flake.lock +++ b/flake.lock @@ -775,6 +775,7 @@ "nixpkgs": "nixpkgs_8", "nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects", "pre-commit-hooks": "pre-commit-hooks_3", + "smartcolumn-nvim": "smartcolumn-nvim", "stable": "stable", "utils": "utils_2" } @@ -804,6 +805,22 @@ "type": "github" } }, + "smartcolumn-nvim": { + "flake": false, + "locked": { + "lastModified": 1677125264, + "narHash": "sha256-Om0t759e6JYwcg6V+HdJk59h2yVt9kPLwGBMKNnP8AA=", + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "rev": "1202b0741b87b0815bdc6fc6ebacb2df9e6628ee", + "type": "github" + }, + "original": { + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "type": "github" + } + }, "stable": { "locked": { "lastModified": 1676817468, diff --git a/flake.nix b/flake.nix index 6127709..ab36e1a 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,12 @@ url = "github:RRethy/nvim-treesitter-textsubjects"; flake = false; }; + + smartcolumn-nvim = { + url = "github:m4xshen/smartcolumn.nvim"; + flake = false; + }; + }; outputs = diff --git a/modules/programs/hyprland/config.nix b/modules/programs/hyprland/config.nix index a06a252..732aa27 100644 --- a/modules/programs/hyprland/config.nix +++ b/modules/programs/hyprland/config.nix @@ -146,26 +146,32 @@ in $windowMod = ALT # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more - bind = $mainMod, D, exec, hyprctl keyword general:layout dwindle - bind = $mainMod, E, exec, emacsclient -c -a emacs - bind = $mainMod, F, togglefloating, - bind = $mainMod SHIFT, F, fullscreen, - bind = $mainMod, M, exec, hyprctl keyword general:layout master - bind = $mainMod, P, pseudo, # dwindle - bind = $mainMod, Q, killactive, - bind = $mainMod, R, exec, rofi -show combi - bind = $mainMod, C, exec, rofi -show calc -modi calc -no-show-match -no-sort | wl-copy - bind = $mainMod, B, exec, rofi-bluetooth - bind = $mainMod, RETURN, exec, kitty - bind = $mainMod, T, togglesplit, # dwindle - bind = , XF86AudioLowerVolume, exec, pamixer -d 5 - bind = , XF86AudioMute, exec, pamixer -t - bind = , XF86AudioNext, exec, playerctl -p "spotifyd,firefox" next - bind = , XF86AudioPlay, exec, playerctl -p "spotifyd,firefox" play-pause - bind = , XF86AudioPrev, exec, playerctl -p "spotifyd,firefox" previous - bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 - bind = , XF86MonBrightnessDown, exec, brightnessctl s 10%- - bind = , XF86MonBrightnessUp, exec, brightnessctl s 10%+ + + # Window binds + bind = $mainMod , F , togglefloating , + bind = $mainMod , P , pseudo , + bind = $mainMod , Q , killactive , + bind = $mainMod , T , togglesplit , + bind = $mainMod SHIFT , F , fullscreen , + + # Program binds + bind = $mainMod , B , exec , rofi-bluetooth + bind = $mainMod , C , exec , rofi -show calc -modi calc -no-show-match -no-sort | wl-copy + bind = $mainMod , D , exec , hyprctl keyword general:layout dwindle + bind = $mainMod , E , exec , emacsclient -c -a emacs + bind = $mainMod , M , exec , hyprctl keyword general:layout master + bind = $mainMod , R , exec , rofi -show combi + bind = $mainMod , RETURN , exec , kitty + + # XF86 keys + bind = , XF86AudioLowerVolume , exec , pamixer -d 5 + bind = , XF86AudioRaiseVolume , exec , pamixer -i 5 + bind = , XF86AudioMute , exec , pamixer -t + bind = , XF86AudioNext , exec , playerctl -p "spotifyd,firefox" next + bind = , XF86AudioPlay , exec , playerctl -p "spotifyd,firefox" play-pause + bind = , XF86AudioPrev , exec , playerctl -p "spotifyd,firefox" previous + bind = , XF86MonBrightnessDown , exec , brightnessctl s 10%- + bind = , XF86MonBrightnessUp , exec , brightnessctl s 10%+ # Move focus with mainMod + hjkl bind = $mainMod, H, movefocus, l @@ -173,11 +179,17 @@ in bind = $mainMod, K, movefocus, u bind = $mainMod, J, movefocus, d - # Change current active window size with mainMod + hjkl + # Change current active window size with mainMod + SHIFT + hjkl bind = $mainMod SHIFT, H, resizeactive, -10 0 - bind = $mainMod SHIFT, L, resizeactive, 10 0 - bind = $mainMod SHIFT, K, resizeactive, 0 -10 bind = $mainMod SHIFT, J, resizeactive, 0 10 + bind = $mainMod SHIFT, K, resizeactive, 0 -10 + bind = $mainMod SHIFT, L, resizeactive, 10 0 + + # Move current active window with mainMod + ALT + hjkl + bind = $mainMod ALT, H, movewindow, l + bind = $mainMod ALT, J, movewindow, d + bind = $mainMod ALT, K, movewindow, u + bind = $mainMod ALT, L, movewindow, r # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 96d64ec..b903a7c 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -22,6 +22,12 @@ let version = mkVersionInput inputs.nvim-treesitter-textsubjects; src = inputs.nvim-treesitter-textsubjects; }; + + smartcolumn-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { + pname = "smartcolumn-nvim"; + version = mkVersionInput inputs.smartcolumn-nvim; + src = inputs.smartcolumn-nvim; + }; in { options.my.programs.vim = { @@ -83,6 +89,7 @@ in nvim-web-devicons # for dashboard-nvim orgmode plenary-nvim # for telescope, neogit + smartcolumn-nvim telescope-nvim vim-lion which-key-nvim diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 96737a7..92ebceb 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -100,8 +100,8 @@ cmp.setup({ formatting = { format = lspkind.cmp_format({ mode = "symbol", -- show only symbol annotations - maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) - ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + maxwidth = 50, -- prevent the popup from showing more than provided characters + ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead symbol_map = { Copilot = "", }, @@ -118,7 +118,7 @@ cmp.setup({ [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.complete(), [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() @@ -447,3 +447,7 @@ require("nvim-tree").setup() wk.register({ t = { "NvimTreeFindFileToggle", "nvim tree" }, }, { prefix = "t", silent = true }) + +require("smartcolumn").setup({ + colorcolumn = 120, +}) From a13aaa59cb9aeae7dd64fa84d1066c5da0c8c59a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 23 Feb 2023 13:37:59 +0100 Subject: [PATCH 2/5] nvim: add telescope fzf native --- modules/programs/nvim/default.nix | 1 + modules/programs/nvim/init.lua | 3 +++ 2 files changed, 4 insertions(+) diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index b903a7c..dec09fb 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -90,6 +90,7 @@ in orgmode plenary-nvim # for telescope, neogit smartcolumn-nvim + telescope-fzf-native-nvim telescope-nvim vim-lion which-key-nvim diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 92ebceb..6cca8fd 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -75,6 +75,9 @@ wk.register({ b = { "Telescope buffers", "find buffer" }, }, }, { prefix = "" }) +-- To get fzf loaded and working with telescope, you need to call +-- load_extension, somewhere after setup function: +require("telescope").load_extension("fzf") require("neogit").setup({ disable_commit_confirmation = true, From 8920ce2ec59ae3e1472eaa693331daeb0da2beeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 24 Feb 2023 12:04:53 +0100 Subject: [PATCH 3/5] shell: add nom to monitor nixos-rebuild --- modules/profiles/base.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index 2f971c6..e40adbd 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -5,6 +5,16 @@ }: with lib; +let + nom-system = pkgs.writeShellApplication { + name = "nom-system"; + runtimeInputs = with pkgs; [ nix-output-monitor ]; + text = '' + nom build --no-link "/home/moritz/.dotfiles#nixosConfigurations.$(hostname).config.system.build.toplevel" + ''; + }; + nom-system-command = command: "${nom-system}/bin/nom-system && ${command}"; +in { users.users.moritz = { isNormalUser = true; @@ -39,8 +49,8 @@ with lib; rm = "rm -i"; mv = "mv -i"; - nixos-switch = "sudo nixos-rebuild switch --flake ~/.dotfiles"; - nixos-boot = "sudo nixos-rebuild boot --flake ~/.dotfiles"; + nixos-switch = nom-system-command "sudo nixos-rebuild switch --flake ~/.dotfiles"; + nixos-boot = nom-system-command "sudo nixos-rebuild boot --flake ~/.dotfiles"; nixos-update = "pushd ~/.dotfiles && nix flake update && popd"; latexwatch = ''find -type f -name "*.tex" | entr -c latexmk -pdf -silent''; @@ -77,6 +87,7 @@ with lib; nixpkgs-fmt statix manix + nix-output-monitor # other bat From ed5623256cbfa4120bf9a93caec58cfc3b6a9d38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 24 Feb 2023 12:08:29 +0100 Subject: [PATCH 4/5] wireguard: init wireguard service --- modules/profiles/desktop.nix | 1 + modules/services/default.nix | 1 + modules/services/wireguard.nix | 41 +++++++++++++++++++++++++++++ secrets/secrets.nix | 2 ++ secrets/wireguard-preshared-key.age | 16 +++++++++++ secrets/wireguard-private-key.age | 15 +++++++++++ 6 files changed, 76 insertions(+) create mode 100644 modules/services/wireguard.nix create mode 100644 secrets/wireguard-preshared-key.age create mode 100644 secrets/wireguard-private-key.age diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index 4a9e5d8..ce5860d 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -96,6 +96,7 @@ with lib; { openvpn.enable = true; printing.enable = true; redshift.enable = true; + wireguard.enable = true; }; }; diff --git a/modules/services/default.nix b/modules/services/default.nix index 4d2b238..93930bd 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -12,5 +12,6 @@ ./picom.nix ./printing.nix ./redshift.nix + ./wireguard.nix ]; } diff --git a/modules/services/wireguard.nix b/modules/services/wireguard.nix new file mode 100644 index 0000000..8b0bbfb --- /dev/null +++ b/modules/services/wireguard.nix @@ -0,0 +1,41 @@ +{ config +, lib +, pkgs +, ... +}: + +with lib; +let + cfg = config.my.services.wireguard; +in +{ + options.my.services.wireguard.enable = mkEnableOption "wireguard"; + + config = lib.mkIf cfg.enable { + age.secrets = { + wireguard-private-key.file = ../../secrets/wireguard-private-key.age; + wireguard-preshared-key.file = ../../secrets/wireguard-preshared-key.age; + }; + networking.firewall = { + allowedUDPPorts = [ 51820 ]; + }; + networking.wg-quick.interfaces = { + wg0 = { + autostart = false; + address = [ "10.8.0.3/24" ]; + listenPort = 51820; + privateKeyFile = "/run/agenix/wireguard-private-key"; + peers = [ + { + publicKey = "bT/U8ko3i//vH8LNn2R56JkGMg+0GLFrZSF81BBax08="; + presharedKeyFile = "/run/agenix/wireguard-preshared-key"; + # Forward all the traffic via VPN. + allowedIPs = [ "0.0.0.0/0" ]; + endpoint = "wg.moritzboeh.me:51820"; + persistentKeepalive = 25; + } + ]; + }; + }; + }; +} diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 0862e22..c53e760 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -18,4 +18,6 @@ in "spotifyd.age".publicKeys = all; "ssh-home.age".publicKeys = all; "uni-vpn.age".publicKeys = all; + "wireguard-preshared-key.age".publicKeys = all; + "wireguard-private-key.age".publicKeys = all; } diff --git a/secrets/wireguard-preshared-key.age b/secrets/wireguard-preshared-key.age new file mode 100644 index 0000000..b766d8b --- /dev/null +++ b/secrets/wireguard-preshared-key.age @@ -0,0 +1,16 @@ +age-encryption.org/v1 +-> ssh-ed25519 CjuqfA HUg3FETh6ezG8DcEaFW/VYrzKoqpGKpWQKk2R+e4zzM +Hnj5vK3gT2+BpGVYfQBPnosUiBgp2shs4g3Va1Z1JzU +-> ssh-ed25519 QRYDmg vc5Qzx8lbFF6BYV/BVNDv7+4tvwdGV8nyUHoVEr1yEA +mp4s4Kg7UcS6HEcaZaFhypPQh6BzeeovpEzxn0Q91Q4 +-> ssh-ed25519 wG6LYg ZDy84tJ1nyrtCdOVlF464rPAmWEQXcP11B30+ccXJ2k +i+efuVas6vT9K55/soO2SOLxo29heQTR12gO5gx5SSI +-> ssh-ed25519 ZYd7Zg jmWJkTLgzrt3nU7KA3xRU37T3EriWngdbCC4GwS/pik +PYtUFRBv8yIuHgDrMJNdrsUsqjjKc/+hmvj1+pY3MpQ +-> ssh-ed25519 as9VYQ qpAgrLdj/1tLgGSH/ixGisVSBAoDB2A/nednmGKqLiM +AD6i7RrNgXcPW6ebr8T1vwsbGDQkWX/zNX7kLZ1bkTI +-> syy03-grease G1Yn Zq| $0 +EmxSuXdlQfAHuTHTAd4nvyFFhfOVswM9F79VwDNuXVkf/SatEO2uhCM4RmInrNhP +a7U1TNxhGd4HuT0k5wqaN2Vr67adR6Hh024vaTxw9OHneQ +--- 7AIOs1wK0DIhK+AVkPDlOZjzFLfhsqZlWXVkLnXNcN8 +!Ȯ^.CJ ]JNĺf0'ajy+ ?;༅w0wE`Sߤ'L#1ET.k= \ No newline at end of file diff --git a/secrets/wireguard-private-key.age b/secrets/wireguard-private-key.age new file mode 100644 index 0000000..7c50bee --- /dev/null +++ b/secrets/wireguard-private-key.age @@ -0,0 +1,15 @@ +age-encryption.org/v1 +-> ssh-ed25519 CjuqfA EQLHOBOVfp+j3x+coXt1isDkG+LvsSYkU8PT1cg97FQ +NJWJKvmN4hUHsC34n1ap4HlipC0rGWlqrbgR4vm91YY +-> ssh-ed25519 QRYDmg LOvHPzC4zfX2rlQBxYwHoHhjftCyWnBRLXZ/aB1ekQM +lVtsflczWZwhBx4FZeJK6jtcUCvwQKIA5Gmbth2to9U +-> ssh-ed25519 wG6LYg nqcLDqaVL7D0seK7kW52vmG/lm0Nd28lBroYrRMVynI +oYA8E4DDR26gpRCdJMWtzoGvUTErI6GMSdF99kTNKtc +-> ssh-ed25519 ZYd7Zg vz3LZxq0+KTx6E4J0X6duivLP0TFtA8WaOQaiSmMcF4 +5g+3H/6J9FjsWifcfmEq8dz0hk4mpZhhJaEndPE3Mpw +-> ssh-ed25519 as9VYQ VIQ18yC/qEiP66hfCwWAbAbNCBypB47gbWkFg/TJmWE +MXK5RnuwAlKt676CPO0N/3BeM9gsgMPZNEG1DXq8uXA +-> 8kx-grease s%obC ~GOw1 C + +--- V8z981BPe2yVOaMCj2np9Vvvy/6zP8xHCFKRFwsceXs ++Xob_) Date: Fri, 24 Feb 2023 12:09:04 +0100 Subject: [PATCH 5/5] openvpn: remove openvpn in favour of wireguard --- modules/profiles/desktop.nix | 1 - modules/services/default.nix | 1 - modules/services/openvpn.nix | 39 ---------------------------------- secrets/home-vpn-password.age | Bin 764 -> 0 bytes secrets/home-vpn.age | Bin 6032 -> 0 bytes secrets/secrets.nix | 2 -- 6 files changed, 43 deletions(-) delete mode 100644 modules/services/openvpn.nix delete mode 100644 secrets/home-vpn-password.age delete mode 100644 secrets/home-vpn.age diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index ce5860d..d70b17f 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -93,7 +93,6 @@ with lib; { kdeconnect.enable = true; mullvad.enable = true; openconnect.enable = true; - openvpn.enable = true; printing.enable = true; redshift.enable = true; wireguard.enable = true; diff --git a/modules/services/default.nix b/modules/services/default.nix index 93930bd..d63a582 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -8,7 +8,6 @@ ./kdeconnect.nix ./mullvad.nix ./openconnect.nix - ./openvpn.nix ./picom.nix ./printing.nix ./redshift.nix diff --git a/modules/services/openvpn.nix b/modules/services/openvpn.nix deleted file mode 100644 index b0b49bc..0000000 --- a/modules/services/openvpn.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ config -, lib -, pkgs -, ... -}: - -with lib; -let - cfg = config.my.services.openvpn; -in -{ - options.my.services.openvpn.enable = mkEnableOption "openvpn"; - - config = lib.mkIf cfg.enable { - age.secrets = { - homeVPN = { - file = ../../secrets/home-vpn.age; - owner = "1000"; - }; - homeVPNPassword = { - file = ../../secrets/home-vpn-password.age; - owner = "1000"; - }; - }; - services.openvpn.servers = { - homeVPN = { - config = "config /run/agenix/homeVPN "; - autoStart = false; - updateResolvConf = true; - }; - }; - systemd.services.openvpn-homeVPN-password = { - description = "Enter homeVPN password"; - script = "cat /run/agenix/homeVPNPassword | systemd-tty-ask-password-agent"; - wantedBy = [ "openvpn-homeVPN.service" ]; - after = [ "openvpn-homeVPN.service" ]; - }; - }; -} diff --git a/secrets/home-vpn-password.age b/secrets/home-vpn-password.age deleted file mode 100644 index ec25887bfe5ad79349f164d4cc59f04aad4651bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmZY4yRMU9003ZDiI)d(VK|E+wLlA;4juyqN(*g)Qf|6XN`Z1KmvZ?Zz!+aZAHc-z zjOt{Jn}dUsgTq$0zvmIlkBPQn%<1RhXp@vcm7z7}Pt1%QEPBTbv-U z5j@@>^BoN%5*gHe+8hprF(>vFPVa~|IGS@w_XmB z$PRNl;HC$h@@EvV9npO{?mT2A?_gfHVofdge&<>QJ>4JZH4MD94V#ZJIGHJ9eeRI_GFHjM54 zdWwOu)Xb^*zngPH#ct0pJg4+v3VvKDP|SJ0MT8~ zXdimT-F$02x%hSY{(S9x{&;ow^4o**tuG}|g&!3&W7%XmYPkw%R{jhoY Vl{mk67vK8+^!}$C!t~KS?=PxB1PTBE diff --git a/secrets/home-vpn.age b/secrets/home-vpn.age deleted file mode 100644 index 6652e7b3e4d74816685138dfcc5e8da7f0960fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6032 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 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index c53e760..179ef3a 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -12,8 +12,6 @@ let in { "github.age".publicKeys = all; - "home-vpn-password.age".publicKeys = all; - "home-vpn.age".publicKeys = all; "nordvpn.age".publicKeys = all; "spotifyd.age".publicKeys = all; "ssh-home.age".publicKeys = all;