diff --git a/flake.lock b/flake.lock index befe1952..68beed58 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1761656077, - "narHash": "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=", + "lastModified": 1762618334, + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", "owner": "ryantm", "repo": "agenix", - "rev": "9ba0d85de3eaa7afeab493fed622008b6e4924f5", + "rev": "fcdea223397448d35d9b31f798479227e80183f6", "type": "github" }, "original": { @@ -26,11 +26,11 @@ "bop-scripts": { "flake": false, "locked": { - "lastModified": 1762264847, - "narHash": "sha256-Gdv0vWULnVnX2JVFU7Cu/g0+c+DYMsRy4JjTAuRc8sA=", + "lastModified": 1762468291, + "narHash": "sha256-kvhro91rmPgSX8LYLTsesLJlOlKp1YJsIg9e+Cb9u6o=", "owner": "breadonpenguins", "repo": "scripts", - "rev": "7c01cb65b5f5e06b1e80adb2d397fb972d9f9783", + "rev": "c1c94c3f4b89076dc8f788fae12f639dda663ddb", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "rev": "19591ad8e1f3c261e84b487307c8534dd67a3707", "revCount": 37, "type": "git", - "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" + "url": "https://git.oliverdavies.uk/opdavies/git-repo-updater" }, "original": { "type": "git", - "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" + "url": "https://git.oliverdavies.uk/opdavies/git-repo-updater" } }, "home-manager": { @@ -232,11 +232,11 @@ ] }, "locked": { - "lastModified": 1762447448, - "narHash": "sha256-BFhoqL231hyTZ7piR+8FgDJby48oWRN8+g3b1uvvtX8=", + "lastModified": 1762721397, + "narHash": "sha256-E428EuouA4nFTNlLuqlL4lVR78X+EbBIqDqsBFnB79w=", "owner": "nix-community", "repo": "home-manager", - "rev": "2907788315a73d3292140b4d59b5d95796565625", + "rev": "b8645b18b0f5374127bbade6de7381ef0b3d5720", "type": "github" }, "original": { @@ -296,11 +296,11 @@ ] }, "locked": { - "lastModified": 1762055842, - "narHash": "sha256-Pu1v3mlFhRzZiSxVHb2/i/f5yeYyRNqr0RvEUJ4UgHo=", + "lastModified": 1762660502, + "narHash": "sha256-C9F1C31ys0V7mnp4EcDy7L1cLZw/sCTEXqqTtGnvu08=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "359ff6333a7b0b60819d4c20ed05a3a1f726771f", + "rev": "15c5451c63f4c612874a43846bfe3fa828b03eee", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1762427122, - "narHash": "sha256-sQJuoiqsaIvKiIOmF/3FDV5dM2TGL2jBv1PeQSt83YE=", + "lastModified": 1762463231, + "narHash": "sha256-hv1mG5j5PTbnWbtHHomzTus77pIxsc4x8VrMjc7+/YE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "24084931d8098fce300fabea9e48fa96292228d7", + "rev": "52113c4f5cfd1e823001310e56d9c8d0699a6226", "type": "github" }, "original": { @@ -327,11 +327,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1762111121, - "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", + "lastModified": 1762596750, + "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", + "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", "type": "github" }, "original": { @@ -400,11 +400,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1762437234, - "narHash": "sha256-qEI9AkUwOHtM5A2yDBy0K+UHGLfYir81dFiTN0DXBeU=", + "lastModified": 1762691346, + "narHash": "sha256-dyYnqvYrgViB22inBqNern/XSWtOiweP8NTfJQJeTis=", "owner": "nix-community", "repo": "nixvim", - "rev": "d01e1c17e2690c10d3aa6abea28838befa1fd449", + "rev": "faf1fb4b7cd069ce44469e45c3259b7bcf106f81", "type": "github" }, "original": { @@ -421,11 +421,11 @@ ] }, "locked": { - "lastModified": 1762452435, - "narHash": "sha256-Pl7z0IhHpo48P75ViLfz638P68fbQ6EUwCmB4wIegF0=", + "lastModified": 1762724684, + "narHash": "sha256-B24ywaTUd9BYkK3qHfl0MubCLnO4Bk8cRSQmIvfofco=", "owner": "nix-community", "repo": "NUR", - "rev": "8207b2a2d9f644dfb4fd9e87a1dd49e9d79dd0af", + "rev": "efc27c839b15d0ff15d58fb09035a93dea7f85f5", "type": "github" }, "original": { @@ -582,17 +582,17 @@ ] }, "locked": { - "lastModified": 1762452973, - "narHash": "sha256-rJmk//VjOfbqu1ZbD98Tc74G2M2awnsUf/X6TxvNols=", + "lastModified": 1762731584, + "narHash": "sha256-qSN44lGSceoqkUeksXbEAcGPeTf9yJBGQMWafh8cZuw=", "ref": "refs/heads/main", - "rev": "798bfdd5ca7f7107217aa101b9cb6a205f551e12", - "revCount": 142, + "rev": "184accfd1fadb9580f2af8873ce0f2a70eeb8b49", + "revCount": 165, "type": "git", - "url": "https://code.oliverdavies.uk/opdavies/z" + "url": "https://git.oliverdavies.uk/opdavies/z" }, "original": { "type": "git", - "url": "https://code.oliverdavies.uk/opdavies/z" + "url": "https://git.oliverdavies.uk/opdavies/z" } } }, diff --git a/flake.nix b/flake.nix index 80dd608e..01149a04 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ inputs.flake-parts.follows = "flake-parts"; inputs.import-tree.follows = "import-tree"; inputs.nixpkgs.follows = "nixpkgs"; - url = "git+https://code.oliverdavies.uk/opdavies/git-repo-updater"; + url = "git+https://git.oliverdavies.uk/opdavies/git-repo-updater"; }; home-manager = { @@ -71,7 +71,7 @@ z = { inputs.flake-parts.follows = "flake-parts"; inputs.nixpkgs.follows = "nixpkgs"; - url = "git+https://code.oliverdavies.uk/opdavies/z"; + url = "git+https://git.oliverdavies.uk/opdavies/z"; }; }; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix deleted file mode 100644 index 96a0e976..00000000 --- a/hosts/lemp11/configuration.nix +++ /dev/null @@ -1,133 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "lemp11"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the Cinnamon Desktop Environment. - services.xserver.displayManager.lightdm.enable = true; - services.xserver.desktopManager.cinnamon.enable = true; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "gb"; - variant = ""; - }; - - # Configure console keymap - console.keyMap = "uk"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.opdavies = { - isNormalUser = true; - description = "opdavies"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - # thunderbird - ]; - }; - - # Install firefox. - programs.firefox.enable = true; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "25.05"; # Did you read the comment? - -} diff --git a/hosts/lemp11/hardware-configuration.nix b/hosts/lemp11/hardware-configuration.nix deleted file mode 100644 index b0c1df14..00000000 --- a/hosts/lemp11/hardware-configuration.nix +++ /dev/null @@ -1,40 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/ee7ce610-9185-4f9a-9def-0a1dc018e8c3"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/4726-8F9B"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/79837741-31fd-460c-ab36-7f9ae203d44a"; } - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index abf3ab99..f59020f5 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -48,6 +48,4 @@ tree vim ]; - - security.sudo-rs.enable = lib.mkForce false; } diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index f1ffa533..64a226f1 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -27,6 +27,7 @@ "eric" "florida-drupalcamp-tailwind-css" "freshrss" + "git" "home" "jellyfin" "luke" diff --git a/hosts/nixedo/modules/forgejo.nix b/hosts/nixedo/modules/forgejo.nix index 91a228d6..7a8b4f18 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -7,7 +7,7 @@ settings = { server = { - DOMAIN = "code.oliverdavies.uk"; + DOMAIN = "git.oliverdavies.uk"; LANDING_PAGE = "explore"; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; SSH_DOMAIN = "ssh.oliverdavies.uk"; diff --git a/hosts/nixedo/modules/nginx/oliverdavies.uk/default.nix b/hosts/nixedo/modules/nginx/oliverdavies.uk/default.nix index 467b60ac..7bcf0529 100644 --- a/hosts/nixedo/modules/nginx/oliverdavies.uk/default.nix +++ b/hosts/nixedo/modules/nginx/oliverdavies.uk/default.nix @@ -12,18 +12,20 @@ let root = "/var/www/vhosts/website-tome"; paths = [ + "core" + "sites/default/files" + "themes/custom/opdavies" + + # TODO: move back to Sculpin. "archive" "automated-testing" - "core" "daily/.+" "examples" "homelab" "podcast" "rss/bb.xml" "rss/daily.xml" - "sites/default/files" "testing" - "themes/custom/opdavies" ]; port = ports.nginx.website-tome; diff --git a/hosts/t480/cron.nix b/hosts/t480/cron.nix index 27b9e811..cb3c405c 100644 --- a/hosts/t480/cron.nix +++ b/hosts/t480/cron.nix @@ -5,7 +5,7 @@ enable = true; systemCronJobs = [ - "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Repos/code.oliverdavies.uk/opdavies/email-filters/config.lua" + "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Repos/git.oliverdavies.uk/opdavies/email-filters/config.lua" "0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a" ]; }; diff --git a/modules/hosts/t480/ollama.nix b/modules/hosts/t480/ollama.nix deleted file mode 100644 index 4ec6407a..00000000 --- a/modules/hosts/t480/ollama.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - flake.modules.nixos.desktop.services.ollama.enable = false; -} diff --git a/modules/hosts/t480/open-webui.nix b/modules/hosts/t480/open-webui.nix deleted file mode 100644 index ae6421f8..00000000 --- a/modules/hosts/t480/open-webui.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - nixpkgs.allowedUnfreePackages = [ "open-webui" ]; - - flake.modules.nixos.desktop.services.open-webui.enable = false; -} diff --git a/modules/nixvim/fugitive.nix b/modules/nixvim/fugitive.nix new file mode 100644 index 00000000..ac800972 --- /dev/null +++ b/modules/nixvim/fugitive.nix @@ -0,0 +1,18 @@ +{ + flake.modules.nixvim.custom = { + plugins.fugitive.enable = true; + + keymaps = [ + { + key = "gc"; + action = "Git commitK"; + } + + { + # Open the ":Git" window in its own buffer, not a split. + key = "gs"; + action = "0Git"; + } + ]; + }; +} diff --git a/modules/nixvim/oil.nix b/modules/nixvim/oil.nix new file mode 100644 index 00000000..80a83874 --- /dev/null +++ b/modules/nixvim/oil.nix @@ -0,0 +1,24 @@ +{ + flake.modules.nixvim.custom = { + plugins.oil = { + enable = true; + + settings = { + delete_to_trash = true; + + keymaps."-" = "actions.parent"; + + skip_confirm_for_simple_edits = true; + view_options.show_hidden = true; + }; + }; + + keymaps = [ + { + action = "Oil"; + key = "-"; + } + ]; + }; +} + diff --git a/modules/nixvim/qmk.nix b/modules/nixvim/qmk.nix new file mode 100644 index 00000000..54997959 --- /dev/null +++ b/modules/nixvim/qmk.nix @@ -0,0 +1,18 @@ +{ + flake.modules.nixvim.custom.plugins.qmk = { + enable = true; + + settings = { + layout = [ + "x x x x x _ _ _ _ _ _ _ _ _ x x x x x" + "x x x x x x _ _ _ _ _ _ _ x x x x x x" + "x x x x x x _ _ _ _ _ _ _ x x x x x x" + "x x x x x x _ _ _ _ _ _ _ x x x x x x" + "x x x x x x x x x _ x x x x x x x x x" + "x x x x x _ x x x _ x x x _ x x x x x" + ]; + name = "LAYOUT_glove80"; + variant = "zmk"; + }; + }; +} diff --git a/modules/nixvim/treesitter.nix b/modules/nixvim/treesitter.nix index 02de1492..d2e85c12 100644 --- a/modules/nixvim/treesitter.nix +++ b/modules/nixvim/treesitter.nix @@ -11,6 +11,7 @@ comment css csv + devicetree dockerfile gitattributes gitignore @@ -41,7 +42,10 @@ yaml ]; - settings.highlight.enable = true; + settings = { + highlight.enable = true; + indent.enable = true; + }; }; treesitter-textobjects.enable = true; diff --git a/modules/scripts/clone.nix b/modules/scripts/clone.nix index 814c93cc..b41f4ec9 100644 --- a/modules/scripts/clone.nix +++ b/modules/scripts/clone.nix @@ -2,14 +2,13 @@ { perSystem = - psArgs@{ pkgs, ... }: + { pkgs, ... }: { packages.clone = pkgs.writeShellApplication { name = "clone"; runtimeInputs = with pkgs; [ git - psArgs.config.packages.start-tmux ]; text = '' @@ -20,7 +19,7 @@ domain="''${BASH_REMATCH[2]}" if [[ "$domain" == "ssh.oliverdavies.uk" ]]; then - domain="code.oliverdavies.uk" + domain="git.oliverdavies.uk" fi user="''${BASH_REMATCH[3]}" @@ -34,8 +33,6 @@ mkdir -pv "$repo_path" git clone "$repo_url" "$repo_path" - - start-tmux "$repo_path" else exit 1 fi diff --git a/modules/scripts/open-repo-url.nix b/modules/scripts/open-repo-url.nix index 85348f2e..4726a167 100644 --- a/modules/scripts/open-repo-url.nix +++ b/modules/scripts/open-repo-url.nix @@ -15,7 +15,7 @@ in text = '' repo_url=$(git remote get-url origin | sed -E 's#(git|forgejo)@([A-Za-z0-9.-]+):#https://\2/#;s#.git$##') - repo_url="''${repo_url//ssh.oliverdavies.uk/code.oliverdavies.uk}" + repo_url="''${repo_url//ssh.oliverdavies.uk/git.oliverdavies.uk}" xdg-open "$repo_url" ''; diff --git a/modules/sudo.nix b/modules/sudo.nix index 7f70c7c6..933b9963 100644 --- a/modules/sudo.nix +++ b/modules/sudo.nix @@ -2,8 +2,6 @@ { flake.modules.nixos.pc = { - security.sudo-rs.enable = true; - users.users.${config.flake.meta.owner.username}.extraGroups = [ "wheel" ]; }; } diff --git a/modules/zsh/abbreviations/abbreviations.nix b/modules/zsh/abbreviations/abbreviations.nix index 95022561..5598a87e 100644 --- a/modules/zsh/abbreviations/abbreviations.nix +++ b/modules/zsh/abbreviations/abbreviations.nix @@ -131,6 +131,7 @@ rduli = "run drush uli"; rdup = "run drush updatedb -y"; rpub = "run publish"; + rs = "run switch"; rt = "run test"; nah = "git reset --hard; git clean -fd"; @@ -168,5 +169,8 @@ sgsp = "vendor/bin/sculpin generate --server --port"; sgsw = "vendor/bin/sculpin generate --server --watch"; sgswp = "vendor/bin/sculpin generate --server --watch --port"; + + mnf = "man fzf"; + mnt = "man tmux"; }; } diff --git a/modules/zsh/init.nix b/modules/zsh/init.nix index 4b3cbf10..eece5a0b 100644 --- a/modules/zsh/init.nix +++ b/modules/zsh/init.nix @@ -1,3 +1,5 @@ +{ lib, ... }: + { flake.modules.homeManager.base = { config, pkgs, ... }: @@ -47,6 +49,10 @@ command ${pkgs.ttyper}/bin/ttyper --language english1000 --words 50 "''${@}" } + watchexec() { + ${lib.getExe pkgs.watchexec} --clear "$@" + } + weather() { curl "https://wttr.in/''$1" } diff --git a/notes.txt b/notes.txt index e01d0f67..fe128232 100644 --- a/notes.txt +++ b/notes.txt @@ -1,6 +1,6 @@ Running Neovim as a package: nix run .#neovim -nix run git+https://code.oliverdavies.uk/opdavies/nix-config#neovim +nix run git+https://git.oliverdavies.uk/opdavies/nix-config#neovim nixos-rebuild --flake .#nixedo --target-host 192.168.1.116 --sudo test