diff --git a/flake.lock b/flake.lock index 68beed58..befe1952 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1762618334, - "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", + "lastModified": 1761656077, + "narHash": "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=", "owner": "ryantm", "repo": "agenix", - "rev": "fcdea223397448d35d9b31f798479227e80183f6", + "rev": "9ba0d85de3eaa7afeab493fed622008b6e4924f5", "type": "github" }, "original": { @@ -26,11 +26,11 @@ "bop-scripts": { "flake": false, "locked": { - "lastModified": 1762468291, - "narHash": "sha256-kvhro91rmPgSX8LYLTsesLJlOlKp1YJsIg9e+Cb9u6o=", + "lastModified": 1762264847, + "narHash": "sha256-Gdv0vWULnVnX2JVFU7Cu/g0+c+DYMsRy4JjTAuRc8sA=", "owner": "breadonpenguins", "repo": "scripts", - "rev": "c1c94c3f4b89076dc8f788fae12f639dda663ddb", + "rev": "7c01cb65b5f5e06b1e80adb2d397fb972d9f9783", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "rev": "19591ad8e1f3c261e84b487307c8534dd67a3707", "revCount": 37, "type": "git", - "url": "https://git.oliverdavies.uk/opdavies/git-repo-updater" + "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" }, "original": { "type": "git", - "url": "https://git.oliverdavies.uk/opdavies/git-repo-updater" + "url": "https://code.oliverdavies.uk/opdavies/git-repo-updater" } }, "home-manager": { @@ -232,11 +232,11 @@ ] }, "locked": { - "lastModified": 1762721397, - "narHash": "sha256-E428EuouA4nFTNlLuqlL4lVR78X+EbBIqDqsBFnB79w=", + "lastModified": 1762447448, + "narHash": "sha256-BFhoqL231hyTZ7piR+8FgDJby48oWRN8+g3b1uvvtX8=", "owner": "nix-community", "repo": "home-manager", - "rev": "b8645b18b0f5374127bbade6de7381ef0b3d5720", + "rev": "2907788315a73d3292140b4d59b5d95796565625", "type": "github" }, "original": { @@ -296,11 +296,11 @@ ] }, "locked": { - "lastModified": 1762660502, - "narHash": "sha256-C9F1C31ys0V7mnp4EcDy7L1cLZw/sCTEXqqTtGnvu08=", + "lastModified": 1762055842, + "narHash": "sha256-Pu1v3mlFhRzZiSxVHb2/i/f5yeYyRNqr0RvEUJ4UgHo=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "15c5451c63f4c612874a43846bfe3fa828b03eee", + "rev": "359ff6333a7b0b60819d4c20ed05a3a1f726771f", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1762463231, - "narHash": "sha256-hv1mG5j5PTbnWbtHHomzTus77pIxsc4x8VrMjc7+/YE=", + "lastModified": 1762427122, + "narHash": "sha256-sQJuoiqsaIvKiIOmF/3FDV5dM2TGL2jBv1PeQSt83YE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "52113c4f5cfd1e823001310e56d9c8d0699a6226", + "rev": "24084931d8098fce300fabea9e48fa96292228d7", "type": "github" }, "original": { @@ -327,11 +327,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1762596750, - "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", + "lastModified": 1762111121, + "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", + "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", "type": "github" }, "original": { @@ -400,11 +400,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1762691346, - "narHash": "sha256-dyYnqvYrgViB22inBqNern/XSWtOiweP8NTfJQJeTis=", + "lastModified": 1762437234, + "narHash": "sha256-qEI9AkUwOHtM5A2yDBy0K+UHGLfYir81dFiTN0DXBeU=", "owner": "nix-community", "repo": "nixvim", - "rev": "faf1fb4b7cd069ce44469e45c3259b7bcf106f81", + "rev": "d01e1c17e2690c10d3aa6abea28838befa1fd449", "type": "github" }, "original": { @@ -421,11 +421,11 @@ ] }, "locked": { - "lastModified": 1762724684, - "narHash": "sha256-B24ywaTUd9BYkK3qHfl0MubCLnO4Bk8cRSQmIvfofco=", + "lastModified": 1762452435, + "narHash": "sha256-Pl7z0IhHpo48P75ViLfz638P68fbQ6EUwCmB4wIegF0=", "owner": "nix-community", "repo": "NUR", - "rev": "efc27c839b15d0ff15d58fb09035a93dea7f85f5", + "rev": "8207b2a2d9f644dfb4fd9e87a1dd49e9d79dd0af", "type": "github" }, "original": { @@ -582,17 +582,17 @@ ] }, "locked": { - "lastModified": 1762731584, - "narHash": "sha256-qSN44lGSceoqkUeksXbEAcGPeTf9yJBGQMWafh8cZuw=", + "lastModified": 1762452973, + "narHash": "sha256-rJmk//VjOfbqu1ZbD98Tc74G2M2awnsUf/X6TxvNols=", "ref": "refs/heads/main", - "rev": "184accfd1fadb9580f2af8873ce0f2a70eeb8b49", - "revCount": 165, + "rev": "798bfdd5ca7f7107217aa101b9cb6a205f551e12", + "revCount": 142, "type": "git", - "url": "https://git.oliverdavies.uk/opdavies/z" + "url": "https://code.oliverdavies.uk/opdavies/z" }, "original": { "type": "git", - "url": "https://git.oliverdavies.uk/opdavies/z" + "url": "https://code.oliverdavies.uk/opdavies/z" } } }, diff --git a/flake.nix b/flake.nix index 01149a04..80dd608e 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://git.oliverdavies.uk/opdavies/git-repo-updater"; + url = "git+https://code.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://git.oliverdavies.uk/opdavies/z"; + url = "git+https://code.oliverdavies.uk/opdavies/z"; }; }; diff --git a/hosts/lemp11/configuration.nix b/hosts/lemp11/configuration.nix new file mode 100644 index 00000000..96a0e976 --- /dev/null +++ b/hosts/lemp11/configuration.nix @@ -0,0 +1,133 @@ +# 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 new file mode 100644 index 00000000..b0c1df14 --- /dev/null +++ b/hosts/lemp11/hardware-configuration.nix @@ -0,0 +1,40 @@ +# 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 f59020f5..abf3ab99 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -48,4 +48,6 @@ tree vim ]; + + security.sudo-rs.enable = lib.mkForce false; } diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 64a226f1..f1ffa533 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -27,7 +27,6 @@ "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 7a8b4f18..91a228d6 100644 --- a/hosts/nixedo/modules/forgejo.nix +++ b/hosts/nixedo/modules/forgejo.nix @@ -7,7 +7,7 @@ settings = { server = { - DOMAIN = "git.oliverdavies.uk"; + DOMAIN = "code.oliverdavies.uk"; LANDING_PAGE = "explore"; ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; SSH_DOMAIN = "ssh.oliverdavies.uk"; diff --git a/hosts/t480/cron.nix b/hosts/t480/cron.nix index cb3c405c..27b9e811 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/git.oliverdavies.uk/opdavies/email-filters/config.lua" + "*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Repos/code.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 new file mode 100644 index 00000000..4ec6407a --- /dev/null +++ b/modules/hosts/t480/ollama.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.desktop.services.ollama.enable = false; +} diff --git a/modules/hosts/t480/open-webui.nix b/modules/hosts/t480/open-webui.nix new file mode 100644 index 00000000..ae6421f8 --- /dev/null +++ b/modules/hosts/t480/open-webui.nix @@ -0,0 +1,5 @@ +{ + nixpkgs.allowedUnfreePackages = [ "open-webui" ]; + + flake.modules.nixos.desktop.services.open-webui.enable = false; +} diff --git a/modules/nixvim/oil.nix b/modules/nixvim/oil.nix deleted file mode 100644 index 80a83874..00000000 --- a/modules/nixvim/oil.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - 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 deleted file mode 100644 index 54997959..00000000 --- a/modules/nixvim/qmk.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - 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 d2e85c12..02de1492 100644 --- a/modules/nixvim/treesitter.nix +++ b/modules/nixvim/treesitter.nix @@ -11,7 +11,6 @@ comment css csv - devicetree dockerfile gitattributes gitignore @@ -42,10 +41,7 @@ yaml ]; - settings = { - highlight.enable = true; - indent.enable = true; - }; + settings.highlight.enable = true; }; treesitter-textobjects.enable = true; diff --git a/modules/scripts/clone.nix b/modules/scripts/clone.nix index dc655e91..814c93cc 100644 --- a/modules/scripts/clone.nix +++ b/modules/scripts/clone.nix @@ -20,7 +20,7 @@ domain="''${BASH_REMATCH[2]}" if [[ "$domain" == "ssh.oliverdavies.uk" ]]; then - domain="git.oliverdavies.uk" + domain="code.oliverdavies.uk" fi user="''${BASH_REMATCH[3]}" diff --git a/modules/scripts/open-repo-url.nix b/modules/scripts/open-repo-url.nix index 4726a167..85348f2e 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/git.oliverdavies.uk}" + repo_url="''${repo_url//ssh.oliverdavies.uk/code.oliverdavies.uk}" xdg-open "$repo_url" ''; diff --git a/modules/sudo.nix b/modules/sudo.nix index 933b9963..7f70c7c6 100644 --- a/modules/sudo.nix +++ b/modules/sudo.nix @@ -2,6 +2,8 @@ { 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 5598a87e..95022561 100644 --- a/modules/zsh/abbreviations/abbreviations.nix +++ b/modules/zsh/abbreviations/abbreviations.nix @@ -131,7 +131,6 @@ 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"; @@ -169,8 +168,5 @@ 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 eece5a0b..4b3cbf10 100644 --- a/modules/zsh/init.nix +++ b/modules/zsh/init.nix @@ -1,5 +1,3 @@ -{ lib, ... }: - { flake.modules.homeManager.base = { config, pkgs, ... }: @@ -49,10 +47,6 @@ 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 fe128232..e01d0f67 100644 --- a/notes.txt +++ b/notes.txt @@ -1,6 +1,6 @@ Running Neovim as a package: nix run .#neovim -nix run git+https://git.oliverdavies.uk/opdavies/nix-config#neovim +nix run git+https://code.oliverdavies.uk/opdavies/nix-config#neovim nixos-rebuild --flake .#nixedo --target-host 192.168.1.116 --sudo test