diff --git a/flake.lock b/flake.lock index 24a858c0..3616dd69 100644 --- a/flake.lock +++ b/flake.lock @@ -360,19 +360,20 @@ "inputs": { "nixpkgs": [ "nixos" - ] + ], + "utils": "utils_2" }, "locked": { - "lastModified": 1667907331, - "narHash": "sha256-bHkAwkYlBjkupPUFcQjimNS8gxWSWjOTevEuwdnp5m0=", + "lastModified": 1669071065, + "narHash": "sha256-KBpgj3JkvlPsJ3duOZqFJe6tgr+wc75t8sFmgRbBSbw=", "owner": "nix-community", "repo": "home-manager", - "rev": "6639e3a837fc5deb6f99554072789724997bc8e5", + "rev": "f7641a3ff398ccce952e19a199d775934e518c1d", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-22.05", + "ref": "release-22.11", "repo": "home-manager", "type": "github" } @@ -418,11 +419,11 @@ }, "latest_2": { "locked": { - "lastModified": 1669411043, - "narHash": "sha256-LfPd3+EY+jaIHTRIEOUtHXuanxm59YKgUacmSzaqMLc=", + "lastModified": 1669542132, + "narHash": "sha256-DRlg++NJAwPh8io3ExBJdNW7Djs3plVI5jgYQ+iXAZQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5dc7114b7b256d217fe7752f1614be2514e61bb8", + "rev": "a115bb9bd56831941be3776c8a94005867f316a7", "type": "github" }, "original": { @@ -469,16 +470,16 @@ }, "nixos": { "locked": { - "lastModified": 1669418739, - "narHash": "sha256-T86oFvcUIRwHWBWUt7WjaP4BP/3lDGbv5AppQSI1FkI=", + "lastModified": 1669558522, + "narHash": "sha256-yqxn+wOiPqe6cxzOo4leeJOp1bXE/fjPEi/3F/bBHv8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "695b3515251873e0a7e2021add4bba643c56cde3", + "rev": "ce5fe99df1f15a09a91a86be9738d68fadfbad82", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-22.05", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } @@ -504,11 +505,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1669146234, - "narHash": "sha256-HEby7EG1yaq1oT2Ze6Cvok9CFju1XHkSvVHmkptLW9U=", + "lastModified": 1669650994, + "narHash": "sha256-uwASLUfedIQ5q01TtMwZDEV2HCZr5nVPZjzVgCG+D5I=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "0099253ad0b5283f06ffe31cf010af3f9ad7837d", + "rev": "7883883d135ce5b7eae5dce4bfa12262b85c1c46", "type": "github" }, "original": { @@ -612,11 +613,11 @@ }, "locked": { "dir": "vmtools", - "lastModified": 1668514320, - "narHash": "sha256-P+wzdarT2l+91VPf9hsYtKJad7WHttN5oFFlGQHJ5mQ=", + "lastModified": 1669648111, + "narHash": "sha256-EKh7iM4fCyZ7L6+HmGn3QkZ1HuG9zMEkziOH3K13SbY=", "ref": "main", - "rev": "8648709ed952423e82d62eb634918de1b1cfdc82", - "revCount": 27, + "rev": "d78c4afe040440437949ce581ae0dcdc5893553c", + "revCount": 28, "type": "git", "url": "https://git.b12f.io/pub-solar/infra?dir=vmtools" }, @@ -641,6 +642,21 @@ "repo": "flake-utils", "type": "github" } + }, + "utils_2": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9672ca18..26117bf7 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ inputs = { # Track channels with commits tested and built by hydra - nixos.url = "github:nixos/nixpkgs/nixos-22.05"; + nixos.url = "github:nixos/nixpkgs/nixos-22.11"; latest.url = "github:nixos/nixpkgs/nixos-unstable"; fork.url = "github:teutat3s/nixpkgs/fix/gitea-needs-gpg-in-path"; @@ -21,7 +21,7 @@ digga.inputs.home-manager.follows = "home"; digga.inputs.deploy.follows = "deploy"; - home.url = "github:nix-community/home-manager/release-22.05"; + home.url = "github:nix-community/home-manager/release-22.11"; home.inputs.nixpkgs.follows = "nixos"; darwin.url = "github:LnL7/nix-darwin"; diff --git a/modules/compat/default.nix b/modules/compat/default.nix index af39a951..3f21b3d5 100644 --- a/modules/compat/default.nix +++ b/modules/compat/default.nix @@ -2,5 +2,5 @@ # Both things below are for # https://github.com/NixOS/nixpkgs/issues/124215 documentation.info.enable = lib.mkForce false; - nix.sandboxPaths = [ "/bin/sh=${pkgs.bash}/bin/sh" ]; + nix.settings.extra-sandbox-paths = [ "/bin/sh=${pkgs.bash}/bin/sh" ]; } diff --git a/modules/core/networking.nix b/modules/core/networking.nix index c5ec9cbe..49010f00 100644 --- a/modules/core/networking.nix +++ b/modules/core/networking.nix @@ -1,8 +1,10 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let cfg = config.pub-solar.core; +{ config +, pkgs +, lib +, ... +}: +with lib; let + cfg = config.pub-solar.core; in { options.pub-solar.core = { @@ -39,12 +41,13 @@ in networking.firewall.enable = true; # Customized binary caches list (with fallback to official binary cache) - nix.binaryCaches = cfg.binaryCaches; - nix.binaryCachePublicKeys = cfg.publicKeys; + nix.settings.substituters = cfg.binaryCaches; + nix.settings.trusted-public-keys = cfg.publicKeys; # These entries get added to /etc/hosts networking.hosts = { - "127.0.0.1" = [ ] + "127.0.0.1" = + [ ] ++ lib.optionals cfg.enableCaddy [ "caddy.local" ] ++ lib.optionals config.pub-solar.printing.enable [ "cups.local" ] ++ lib.optionals cfg.enableHelp [ "help.local" ]; diff --git a/modules/core/nix.nix b/modules/core/nix.nix index f7ff5fa4..cfaa0af1 100644 --- a/modules/core/nix.nix +++ b/modules/core/nix.nix @@ -1,19 +1,24 @@ -{ config, pkgs, lib, inputs, ... }: - -{ +{ config +, pkgs +, lib +, inputs +, ... +}: { nix = { # Use default version alias for nix package package = pkgs.nix; - # Improve nix store disk usage - autoOptimiseStore = true; gc.automatic = true; optimise.automatic = true; - # Prevents impurities in builds - useSandbox = true; - # give root and @wheel special privileges with nix - trustedUsers = [ "root" "@wheel" ]; - # This is just a representation of the nix default - systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + settings = { + # Improve nix store disk usage + auto-optimise-store = true; + # Prevents impurities in builds + sandbox = true; + # give root and @wheel special privileges with nix + trusted-users = [ "root" "@wheel" ]; + # This is just a representation of the nix default + system-features = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + }; # Generally useful nix option defaults extraOptions = '' min-free = 536870912 diff --git a/modules/devops/default.nix b/modules/devops/default.nix index 9c0d9a9e..05fe65fc 100644 --- a/modules/devops/default.nix +++ b/modules/devops/default.nix @@ -19,7 +19,7 @@ in ansible-lint restic shellcheck - terraform_0_15 + terraform ]; }; }; diff --git a/modules/docker/default.nix b/modules/docker/default.nix index 668c4005..c5071f21 100644 --- a/modules/docker/default.nix +++ b/modules/docker/default.nix @@ -1,6 +1,9 @@ -{ lib, config, pkgs, ... }: -with lib; -let +{ lib +, config +, pkgs +, ... +}: +with lib; let psCfg = config.pub-solar; cfg = config.pub-solar.docker; in @@ -11,9 +14,10 @@ in config = mkIf cfg.enable { virtualisation.docker.enable = true; - users.users = with pkgs; pkgs.lib.setAttrByPath [ psCfg.user.name ] { - extraGroups = [ "docker" ]; - }; + users.users = with pkgs; + pkgs.lib.setAttrByPath [ psCfg.user.name ] { + extraGroups = [ "docker" ]; + }; environment.systemPackages = with pkgs; [ docker-compose diff --git a/modules/graphical/alacritty.nix b/modules/graphical/alacritty.nix index b389343c..d52a6cad 100644 --- a/modules/graphical/alacritty.nix +++ b/modules/graphical/alacritty.nix @@ -66,29 +66,97 @@ x = 0; y = 0; }; - - use_thin_strokes = true; }; key_bindings = [ - { key = "V"; mods = "Control|Alt"; action = "Paste"; } - { key = "C"; mods = "Control|Alt"; action = "Copy"; } - { key = "Paste"; action = "Paste"; } - { key = "Copy"; action = "Copy"; } - { key = "Q"; mods = "Command"; action = "Quit"; } - { key = "W"; mods = "Command"; action = "Quit"; } - { key = "Insert"; mods = "Shift"; action = "PasteSelection"; } - { key = "Key0"; mods = "Control"; action = "ResetFontSize"; } - { key = "Equals"; mods = "Control"; action = "IncreaseFontSize"; } - { key = "PageUp"; mods = "Shift"; action = "ScrollPageUp"; } - { key = "PageDown"; mods = "Shift"; action = "ScrollPageDown"; } - { key = "Minus"; mods = "Control"; action = "DecreaseFontSize"; } - { key = "H"; mode = "Vi|~Search"; action = "ScrollToBottom"; } - { key = "H"; mode = "Vi|~Search"; action = "ToggleViMode"; } - { key = "I"; mode = "Vi|~Search"; action = "Up"; } - { key = "K"; mode = "Vi|~Search"; action = "Down"; } - { key = "J"; mode = "Vi|~Search"; action = "Left"; } - { key = "L"; mode = "Vi|~Search"; action = "Right"; } + { + key = "V"; + mods = "Control|Alt"; + action = "Paste"; + } + { + key = "C"; + mods = "Control|Alt"; + action = "Copy"; + } + { + key = "Paste"; + action = "Paste"; + } + { + key = "Copy"; + action = "Copy"; + } + { + key = "Q"; + mods = "Command"; + action = "Quit"; + } + { + key = "W"; + mods = "Command"; + action = "Quit"; + } + { + key = "Insert"; + mods = "Shift"; + action = "PasteSelection"; + } + { + key = "Key0"; + mods = "Control"; + action = "ResetFontSize"; + } + { + key = "Equals"; + mods = "Control"; + action = "IncreaseFontSize"; + } + { + key = "PageUp"; + mods = "Shift"; + action = "ScrollPageUp"; + } + { + key = "PageDown"; + mods = "Shift"; + action = "ScrollPageDown"; + } + { + key = "Minus"; + mods = "Control"; + action = "DecreaseFontSize"; + } + { + key = "H"; + mode = "Vi|~Search"; + action = "ScrollToBottom"; + } + { + key = "H"; + mode = "Vi|~Search"; + action = "ToggleViMode"; + } + { + key = "I"; + mode = "Vi|~Search"; + action = "Up"; + } + { + key = "K"; + mode = "Vi|~Search"; + action = "Down"; + } + { + key = "J"; + mode = "Vi|~Search"; + action = "Left"; + } + { + key = "L"; + mode = "Vi|~Search"; + action = "Right"; + } ]; # Base16 Burn 256 - alacritty color config @@ -164,12 +232,30 @@ }; indexed_colors = [ - { index = 16; color = "0xdf5923"; } - { index = 17; color = "0xd70000"; } - { index = 18; color = "0x2d2a2e"; } - { index = 19; color = "0x303030"; } - { index = 20; color = "0xd3d1d4"; } - { index = 21; color = "0x303030"; } + { + index = 16; + color = "0xdf5923"; + } + { + index = 17; + color = "0xd70000"; + } + { + index = 18; + color = "0x2d2a2e"; + } + { + index = 19; + color = "0x303030"; + } + { + index = 20; + color = "0xd3d1d4"; + } + { + index = 21; + color = "0x303030"; + } ]; }; } diff --git a/modules/sway/default.nix b/modules/sway/default.nix index c173e9ce..23c48a68 100644 --- a/modules/sway/default.nix +++ b/modules/sway/default.nix @@ -1,6 +1,9 @@ -{ lib, config, pkgs, ... }: -with lib; -let +{ lib +, config +, pkgs +, ... +}: +with lib; let psCfg = config.pub-solar; in { @@ -29,7 +32,7 @@ in ''; }) - ({ + { environment.systemPackages = with pkgs; [ linuxPackages.v4l2loopback ]; @@ -49,59 +52,59 @@ in }; }; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; - gtkUsePortal = true; }; services.pipewire.enable = true; - home-manager = with pkgs; pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] { - home.packages = with pkgs; [ - sway - grim - kanshi - mako - slurp - swayidle - swaylock - swaybg - xwayland + home-manager = with pkgs; + pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] { + home.packages = with pkgs; [ + sway + grim + kanshi + mako + slurp + swayidle + swaylock + swaybg + xwayland - libappindicator-gtk3 + libappindicator-gtk3 - wl-clipboard - wf-recorder - brightnessctl - gammastep - geoclue2 - xsettingsd - ydotool + wl-clipboard + wf-recorder + brightnessctl + gammastep + geoclue2 + xsettingsd + ydotool - sway-launcher - record-screen - import-gtk-settings - s - wcwd - ]; + sway-launcher + record-screen + import-gtk-settings + s + wcwd + ]; - programs.waybar.enable = true; - #programs.waybar.systemd.enable = true; + programs.waybar.enable = true; + #programs.waybar.systemd.enable = true; - systemd.user.services.mako = import ./mako.service.nix { inherit pkgs psCfg; }; - systemd.user.services.sway = import ./sway.service.nix { inherit pkgs psCfg; }; - systemd.user.services.swayidle = import ./swayidle.service.nix { inherit pkgs psCfg; }; - systemd.user.services.xsettingsd = import ./xsettingsd.service.nix { inherit pkgs psCfg; }; - systemd.user.services.waybar = import ./waybar.service.nix { inherit pkgs psCfg; }; - systemd.user.targets.sway-session = import ./sway-session.target.nix { inherit pkgs psCfg; }; + systemd.user.services.mako = import ./mako.service.nix { inherit pkgs psCfg; }; + systemd.user.services.sway = import ./sway.service.nix { inherit pkgs psCfg; }; + systemd.user.services.swayidle = import ./swayidle.service.nix { inherit pkgs psCfg; }; + systemd.user.services.xsettingsd = import ./xsettingsd.service.nix { inherit pkgs psCfg; }; + systemd.user.services.waybar = import ./waybar.service.nix { inherit pkgs psCfg; }; + systemd.user.targets.sway-session = import ./sway-session.target.nix { inherit pkgs psCfg; }; - xdg.configFile."sway/config".text = import ./config/config.nix { inherit config pkgs; }; - xdg.configFile."sway/config.d/colorscheme.conf".source = ./config/config.d/colorscheme.conf; - xdg.configFile."sway/config.d/theme.conf".source = ./config/config.d/theme.conf; - xdg.configFile."sway/config.d/gaps.conf".source = ./config/config.d/gaps.conf; - xdg.configFile."sway/config.d/custom-keybindings.conf".source = ./config/config.d/custom-keybindings.conf; - xdg.configFile."sway/config.d/mode_system.conf".text = import ./config/config.d/mode_system.conf.nix { inherit pkgs psCfg; }; - xdg.configFile."sway/config.d/applications.conf".source = ./config/config.d/applications.conf; - xdg.configFile."sway/config.d/systemd.conf".source = ./config/config.d/systemd.conf; - }; - }) + xdg.configFile."sway/config".text = import ./config/config.nix { inherit config pkgs; }; + xdg.configFile."sway/config.d/colorscheme.conf".source = ./config/config.d/colorscheme.conf; + xdg.configFile."sway/config.d/theme.conf".source = ./config/config.d/theme.conf; + xdg.configFile."sway/config.d/gaps.conf".source = ./config/config.d/gaps.conf; + xdg.configFile."sway/config.d/custom-keybindings.conf".source = ./config/config.d/custom-keybindings.conf; + xdg.configFile."sway/config.d/mode_system.conf".text = import ./config/config.d/mode_system.conf.nix { inherit pkgs psCfg; }; + xdg.configFile."sway/config.d/applications.conf".source = ./config/config.d/applications.conf; + xdg.configFile."sway/config.d/systemd.conf".source = ./config/config.d/systemd.conf; + }; + } ]); } diff --git a/modules/terminal-life/nvim/init.vim b/modules/terminal-life/nvim/init.vim index 9d4ac597..4ce8a197 100644 --- a/modules/terminal-life/nvim/init.vim +++ b/modules/terminal-life/nvim/init.vim @@ -13,6 +13,7 @@ set expandtab set shiftwidth=2 set number set relativenumber +set mouse= set undolevels=1000 set undoreload=10000 diff --git a/modules/terminal-life/nvim/lsp.vim b/modules/terminal-life/nvim/lsp.vim index 97e9e21a..ef238fe6 100644 --- a/modules/terminal-life/nvim/lsp.vim +++ b/modules/terminal-life/nvim/lsp.vim @@ -73,8 +73,7 @@ lua <