diff --git a/flake.lock b/flake.lock index f574230..43463bc 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,43 @@ "type": "github" } }, + "chaotic": { + "inputs": { + "flake-schemas": "flake-schemas", + "home-manager": "home-manager", + "jovian": "jovian", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1754907869, + "narHash": "sha256-tzshAAjt0xDjCc/aOgii6PSqePIc2rWYSXF8VnqEhIg=", + "owner": "chaotic-cx", + "repo": "nyx", + "rev": "b5f83e0d7bce67af178f6aaef95853fedf4c00a0", + "type": "github" + }, + "original": { + "owner": "chaotic-cx", + "ref": "nyxpkgs-unstable", + "repo": "nyx", + "type": "github" + } + }, + "flake-schemas": { + "locked": { + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -92,6 +129,27 @@ } }, "home-manager": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754886238, + "narHash": "sha256-LTQomWOwG70lZR+78ZYSZ9sYELWNq3HJ7/tdHzfif/s=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "0d492b89d1993579e63b9dbdaed17fd7824834da", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { "inputs": { "nixpkgs": [ "nixpkgs-unstable" @@ -127,18 +185,40 @@ "type": "github" } }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754639028, + "narHash": "sha256-w1+XzPBAZPbeGLMAgAlOjIquswo6Q42PMep9KSrRzOA=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "d49809278138d17be77ab0ef5506b26dc477fa62", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, "lix": { "flake": false, "locked": { - "lastModified": 1753223229, - "narHash": "sha256-tkT4aCZZE6IEmjYotOzKKa2rV3pGpH3ZREeQn7ACgdU=", - "rev": "7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a", + "lastModified": 1754639322, + "narHash": "sha256-yQbFoOT/jes5WTUUIjXmWugIacvvXRZwUnZ4ctrdr0o=", + "rev": "52ef1181f0a4e2156227a5086ca9a99c43214515", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a.tar.gz?rev=7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/52ef1181f0a4e2156227a5086ca9a99c43214515.tar.gz" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/lix/archive/release-2.93.tar.gz" + "url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz" } }, "lix-module": { @@ -151,28 +231,53 @@ ] }, "locked": { - "lastModified": 1753282722, - "narHash": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=", - "rev": "46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873", - "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873.tar.gz" + "lastModified": 1751909859, + "narHash": "sha256-gbpuESxl/An4GTh7QEbQRYJozVIxWkwVGbWK0/0GoRc=", + "ref": "refs/heads/main", + "rev": "4d4c2b8f0a801c91ce5b717c77fe3a17efa1402f", + "revCount": 150, + "type": "git", + "url": "https://git.lix.systems/lix-project/nixos-module" }, "original": { - "type": "tarball", - "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz" + "type": "git", + "url": "https://git.lix.systems/lix-project/nixos-module" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "chaotic", + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1741379970, - "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", - "owner": "nixos", + "lastModified": 1754725699, + "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", + "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -211,6 +316,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1716044191, "narHash": "sha256-V/JRCf9iOKGMmmMCs/K1n+vOP01Y7ZPJntHXxDEvzWM=", @@ -229,8 +350,9 @@ "root": { "inputs": { "asus-numberpad-driver": "asus-numberpad-driver", + "chaotic": "chaotic", "hm-stable": "hm-stable", - "home-manager": "home-manager", + "home-manager": "home-manager_2", "impermanence": "impermanence", "lix-module": "lix-module", "nixpkgs-stable": "nixpkgs-stable", @@ -239,6 +361,27 @@ "zapret": "zapret" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754880555, + "narHash": "sha256-tG6l0wiX8V8IvG4HFYY8IYN5vpNAxQ+UWunjjpE6SqU=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "17c591a44e4eb77f05f27cd37e1cfc3f219c7fc4", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -272,7 +415,7 @@ "yandex-music": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "ymExe": "ymExe" }, "locked": { @@ -303,7 +446,7 @@ }, "zapret": { "inputs": { - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "zapret-src": "zapret-src" }, "locked": { diff --git a/flake.nix b/flake.nix index 535fd48..b9be5f9 100644 --- a/flake.nix +++ b/flake.nix @@ -23,13 +23,14 @@ inputs.nixpkgs.follows = "nixpkgs-unstable"; }; lix-module = { - url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz"; + url = "git+https://git.lix.systems/lix-project/nixos-module"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; zapret.url = "github:n0vvvonder/zapret-flake.nix"; + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; }; - outputs = { self, nixpkgs-unstable, impermanence, home-manager, zapret, nixpkgs-stable, hm-stable, lix-module, asus-numberpad-driver, ...}@inputs: { + outputs = { self, nixpkgs-unstable, impermanence, home-manager, zapret, nixpkgs-stable, hm-stable, lix-module, asus-numberpad-driver, chaotic, ...}@inputs: { nixosConfigurations = { Ratchet = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; @@ -66,6 +67,7 @@ specialArgs = { inherit inputs; }; modules = [ lix-module.nixosModules.default + chaotic.nixosModules.default impermanence.nixosModules.impermanence ./hosts/generic/persistence.nix ./hosts/generic/configuration_generic.nix diff --git a/home/yaroslav/Aphelion/Aphelion.nix b/home/yaroslav/Aphelion/Aphelion.nix index 745aa22..30ac9eb 100644 --- a/home/yaroslav/Aphelion/Aphelion.nix +++ b/home/yaroslav/Aphelion/Aphelion.nix @@ -1,7 +1,15 @@ -{ ... }: +{ pkgs, ... }: { imports = [ ../home.nix ./mpd.nix ]; + home.packages = with pkgs; [ + hyprpolkitagent + swaynotificationcenter + hyprpaper + grim + slurp + wl-clipboard + ]; } diff --git a/home/yaroslav/home.nix b/home/yaroslav/home.nix index 18671bf..d89de69 100644 --- a/home/yaroslav/home.nix +++ b/home/yaroslav/home.nix @@ -51,6 +51,7 @@ in "vscode" "unrar" "teamspeak3" + "ida-free" ]; home.packages = with pkgs; [ mc diff --git a/home/yaroslav/nvim.nix b/home/yaroslav/nvim.nix index e1089e3..d4f44a6 100644 --- a/home/yaroslav/nvim.nix +++ b/home/yaroslav/nvim.nix @@ -28,9 +28,9 @@ programs.neovim = { vimtex coq_nvim coq-artifacts - ]; + ]; extraLuaConfig = '' - local function my_on_attach(bufnr) + local function my_on_attach(bufnr) local api = require "nvim-tree.api" local function opts(desc) diff --git a/hosts/Aphelion/Aphelion_misc.nix b/hosts/Aphelion/Aphelion_misc.nix index 72e3d9a..c8d50c1 100644 --- a/hosts/Aphelion/Aphelion_misc.nix +++ b/hosts/Aphelion/Aphelion_misc.nix @@ -1,7 +1,23 @@ -{ ... }: +{ config, lib, ... }: { virtualisation.waydroid.enable = true; services.flatpak.enable = true; programs.nekoray.enable = true; programs.nekoray.tunMode.enable = true; + programs.obs-studio.enable = true; + programs.obs-studio.enableVirtualCamera = true; + boot.extraModulePackages = with config.boot.kernelPackages; [ + v4l2loopback + ]; + boot.kernelModules = [ "v4l2loopback" ]; + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; + security.polkit.enable = true; + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "ida-free" + ]; + programs.hyprland.enable = true; + programs.waybar.enable = true; + } diff --git a/hosts/Aphelion/hardware-Aphelion.nix b/hosts/Aphelion/hardware-Aphelion.nix index dc84991..6b7ead8 100644 --- a/hosts/Aphelion/hardware-Aphelion.nix +++ b/hosts/Aphelion/hardware-Aphelion.nix @@ -14,7 +14,7 @@ boot.extraModulePackages = [ ]; boot.supportedFilesystems = [ "zfs" ]; boot.kernelParams = [ - "video=DP-1:1920x1080@60" + "video=DP-1:1920x1080@60" ]; fileSystems."/" = @@ -58,13 +58,17 @@ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ]; + chaotic.mesa-git.enable = true; + # 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.firewall.allowedTCPPorts = [ 42420 ]; - networking.firewall.trustedInterfaces = [ "enp12s0" "wlp11s0" ]; + networking.firewall.allowedTCPPorts = [ 42420 25565 ]; + networking.firewall.allowedUDPPorts = [ 5900 ]; + + networking.firewall.trustedInterfaces = [ "enp12s0" "wlp11s0" "wg0"]; #networking.firewall.enable = false; # networking.interfaces.enp12s0.useDHCP = lib.mkDefault true; diff --git a/hosts/generic/configuration_generic.nix b/hosts/generic/configuration_generic.nix index a79d72a..7b2538a 100644 --- a/hosts/generic/configuration_generic.nix +++ b/hosts/generic/configuration_generic.nix @@ -40,5 +40,10 @@ # locales i18n.extraLocales = [ "en_US.UTF-8/UTF-8" "C.UTF-8/UTF-8" "ru_RU.UTF-8/UTF-8" ]; + + # keyboard + services.udev.extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; }