diff --git a/flake.lock b/flake.lock index 16a53ea..5943b5f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,6 +1,27 @@ { "nodes": { "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "4524271976b625a4a605beefd893f270620fd751", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nur", @@ -21,6 +42,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -42,6 +81,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.1.1", + "repo": "ixx", + "type": "github" + } + }, "nix-flatpak": { "locked": { "lastModified": 1739444422, @@ -110,9 +177,33 @@ "type": "github" } }, - "nur": { + "nixvim": { "inputs": { "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1758373036, + "narHash": "sha256-tm73KNHsGQwAAoFEcAvuXAmHf3KaWLSuf/R9UQ6WMnU=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "a30decbd5fc231e84dfefeb75bc7f57d8167726c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "nixos-25.05", + "repo": "nixvim", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ] @@ -131,14 +222,68 @@ "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758272005, + "narHash": "sha256-1u3xTH+3kaHhztPmWtLAD8LF5pTYLR2CpsPFWTFnVtQ=", + "owner": "NuschtOS", + "repo": "search", + "rev": "aa975a3757f28ce862812466c5848787b868e116", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs", + "nixvim": "nixvim", "nur": "nur" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0f22020..74d9ffa 100644 --- a/flake.nix +++ b/flake.nix @@ -14,15 +14,20 @@ url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixvim = { + url = "github:nix-community/nixvim/nixos-25.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = inputs@{ nixpkgs, home-manager, nix-flatpak, nixos-generators, nur, ... }: { + outputs = inputs@{ nixpkgs, home-manager, nix-flatpak, nixos-generators, nur, nixvim, ... }: { nixosConfigurations = { "aly-laptop" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ nur.modules.nixos.default nix-flatpak.nixosModules.nix-flatpak + nixvim.nixosModules.nixvim ./hw/aly-laptop.nix ./system/aly-laptop.nix ./system/global.nix diff --git a/home/aly.nix b/home/aly.nix index ba4e506..8d3e1a5 100644 --- a/home/aly.nix +++ b/home/aly.nix @@ -15,6 +15,28 @@ pciutils usbutils nix-output-monitor ]; + programs.helix = { + enable = true; + settings = { + theme = "autumn_night_transparent"; + editor.cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + }; + languages.language = [{ + name = "nix"; + auto-format = true; + formatter.command = "${pkgs.nixfmt}/bin/nixfmt"; + }]; + themes = { + autumn_night_transparent = { + "inherits" = "autumn_night"; + "ui.background" = { }; + }; + }; + }; programs.firefox = { enable = true; profiles.default = { diff --git a/system/aly-laptop.nix b/system/aly-laptop.nix index 6784bbd..49e2e83 100644 --- a/system/aly-laptop.nix +++ b/system/aly-laptop.nix @@ -1,5 +1,13 @@ ({ config, pkgs, ... }: { networking.hostName = "aly-laptop"; + services.openvpn.servers = { + laptop = { config = '' config /home/aly/.secrets/laptop.ovpn ''; }; + }; + fileSystems."/mnt/media" = { + device = "//10.8.0.4/media"; + fsType = "cifs"; + options = ["x-systemd.requires=openvpn-laptop.service,x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"]; + }; services.logind = { lidSwitch = "suspend"; lidSwitchDocked = "ignore"; diff --git a/system/global.nix b/system/global.nix index 527f401..4057130 100644 --- a/system/global.nix +++ b/system/global.nix @@ -4,7 +4,7 @@ boot.loader.efi.canTouchEfiVariables = true; nix.settings.experimental-features = [ "nix-command" "flakes" ]; environment.systemPackages = with pkgs; [ - cargo rustc just git vim wget gcc gnumake autoconf automake pkg-config + cargo rustc just git vim wget gcc gnumake autoconf automake pkg-config cifs-utils ]; environment.variables.EDITOR = "vim"; security.sudo.wheelNeedsPassword = false;