diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index c562e89..0000000 --- a/configuration.nix +++ /dev/null @@ -1,225 +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’). - -{ - inputs, - config, - pkgs, - ... -}: - -{ - imports = [ - inputs.home-manager.nixosModules.home-manager - ]; - - home-manager = { - extraSpecialArgs = { inherit inputs; }; - users = { - dea = import ./home.nix; - }; - }; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "tohka"; # 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 = "America/New_York"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - - # Enable the X11 windowing system. - # You can disable this if you're only using the Wayland session. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.displayManager.sddm.enable = true; - services.desktopManager.plasma6.enable = true; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - # hardware.pulseaudio.enable = false; - 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; - }; - - security.polkit.enable = true; - - # Enables nginx - services.nginx.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’. - - # Enable docker virtualisation. - virtualisation.docker.enable = true; - - # Install firefox. - programs.firefox.enable = true; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # Enables nix commands + flakes - nix.settings.extra-experimental-features = [ - "nix-command" - "flakes" - ]; - - # ====================== - # List packages installed in system profile. To search, run: - # $ nix search wget - # nixos-rebuild switch --use-remote-sudo - # ====================== - # Update packages?: - # sudo nix-channel --update - # sudo nixos-rebuild switch - # ====================== - # sudo nixos-rebuild switch --flake . - environment.systemPackages = with pkgs; [ - wget - lunarvim - vscode - python3 - p7zip - unzip - chawan # tui browser cha - git - gcc - gdb - glibc.static - nixfmt - - kitty # terminal - wayland - - emacs # calander/todo list - - nemo # file browser - monophony # yt music tryout - - vesktop # discord-canary - equibop # equibop 3.1.7 - - vivaldi # vivaldi install requires qt5 - qt5.qtbase - - starship # shell customizer - - libreoffice-qt # libreoffice - hunspell - hunspellDicts.uk_UA - hunspellDicts.th_TH - openjdk - - notepad-next # notepad++ - sqlitebrowser - - ffmpeg-full - yt-dlp - qbittorrent - - bottles # windows emulation - - element-desktop # element 4 matrix - ]; - - # There have been amdgpu issues in 6.10 so you maybe need to revert on the default lts kernel. - # boot.kernelPackages = pkgs.linuxPackages; - programs.steam = { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - }; - - services.mullvad-vpn = { - enable = true; - package = pkgs.mullvad-vpn; # mullvad only has the cli - }; - - programs.nix-ld = { - enable = true; - libraries = with pkgs; [ - ## Put here any library that is required when running a package - ## ... - ## Uncomment if you want to use the libraries provided by default in the steam distribution - ## but this is quite far from being exhaustive - ## https://github.com/NixOS/nixpkgs/issues/354513 - (pkgs.runCommand "steamrun-lib" { } "mkdir $out; ln -s ${pkgs.steam-run.fhsenv}/usr/lib64 $out/lib") - ]; - }; - - # 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 = "24.11"; # Did you read the comment? - -} diff --git a/exprs/overlay.nix b/exprs/overlay.nix deleted file mode 100644 index 2fae41b..0000000 --- a/exprs/overlay.nix +++ /dev/null @@ -1,14 +0,0 @@ -inputs: final: prev: { - waywall = prev.waywall.overrideAttrs ( - f: p: { - version = "0-unstable-2026-01-06"; - - src = prev.fetchFromGitHub { - owner = "tesselslate"; - repo = "waywall"; - rev = "c6504f95f8d757a2e060c4df8bd3ed145ad59e8d"; - hash = "sha256-kfBsppc+esz0Q6iIIKAeOMwkIWdN12AlH3Dji8bU32c="; - }; - } - ); -} \ No newline at end of file diff --git a/flake.lock b/flake.lock index ebc50a0..f7ec999 100644 --- a/flake.lock +++ b/flake.lock @@ -1,17 +1,175 @@ { "nodes": { - "home-manager": { + "abseil-src": { + "flake": false, + "locked": { + "lastModified": 1722535511, + "narHash": "sha256-51jpDhdZ0n+KLmxh8KVaTz53pZAB0dHjmILFX+OLud4=", + "owner": "abseil", + "repo": "abseil-cpp", + "rev": "4447c7562e3bc702ade25105912dce503f0c4010", + "type": "github" + }, + "original": { + "owner": "abseil", + "ref": "20240722.0", + "repo": "abseil-cpp", + "type": "github" + } + }, + "asio-src": { + "flake": false, + "locked": { + "lastModified": 1702548444, + "narHash": "sha256-8Xo6J6+dTvDtsthjbLMMTInHMDnMMM0rQwzbZu70J/s=", + "owner": "chriskohlhoff", + "repo": "asio", + "rev": "22ccfc94fc77356f7820601f9f33b9129a337d2d", + "type": "github" + }, + "original": { + "owner": "chriskohlhoff", + "ref": "asio-1-30-0", + "repo": "asio", + "type": "github" + } + }, + "cerulean": { "inputs": { + "deploy-rs": "deploy-rs", + "microvm": "microvm", "nixpkgs": [ + "nixpkgs-unstable" + ], + "nt": "nt", + "sops-nix": "sops-nix", + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1772954046, + "narHash": "sha256-yCTjpnXhx44tsuOW9VolMiP/ckQNwO6wQST5vmXE7ig=", + "owner": "cry128", + "repo": "cerulean", + "rev": "6c7f335fbde5b6f1931d79d287bf03ee642ba7f5", + "type": "github" + }, + "original": { + "owner": "cry128", + "ref": "v0.2.5-alpha", + "repo": "cerulean", + "type": "github" + } + }, + "curl-src": { + "flake": false, + "locked": { + "lastModified": 1743572790, + "narHash": "sha256-huAGWNm2rYBmgzUuYQ21IYp2skyQECelEkXPMBJY3cE=", + "owner": "curl", + "repo": "curl", + "rev": "1c3149881769e7bd79b072e48374e4c2b3678b2f", + "type": "github" + }, + "original": { + "owner": "curl", + "ref": "curl-8_13_0", + "repo": "curl", + "type": "github" + } + }, + "deploy-rs": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "cerulean", + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1766051518, + "narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", + "owner": "serokell", + "repo": "deploy-rs", + "rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "deploy-rs", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "cerulean", + "nt", + "nix-unit", "nixpkgs" ] }, "locked": { - "lastModified": 1771756436, - "narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=", + "lastModified": 1762440070, + "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "fmt-src": { + "flake": false, + "locked": { + "lastModified": 1758127535, + "narHash": "sha256-AZDmIeU1HbadC+K0TIAGogvVnxt0oE9U6ocpawIgl6g=", + "owner": "fmtlib", + "repo": "fmt", + "rev": "e424e3f2e607da02742f73db84873b8084fc714c", + "type": "github" + }, + "original": { + "owner": "fmtlib", + "ref": "12.0.0", + "repo": "fmt", + "type": "github" + } + }, + "home-manager-unstable": { + "inputs": { + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1775598298, + "narHash": "sha256-FZRwskiertE+8wgFKjLoc/41UrVqzR2V3QseMBHuo/g=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bd3589390b431a63072868a90c0f24771ff4cbb", + "rev": "98b4d61cfaf825c8b691afae0b6e152f0cc05c86", "type": "github" }, "original": { @@ -20,6 +178,219 @@ "type": "github" } }, + "incbin-src": { + "flake": false, + "locked": { + "lastModified": 1748303270, + "narHash": "sha256-vgOfViZnWTKpBB6vDNDJSB3YuuGGVhg++zsi9Ubatno=", + "owner": "graphitemaster", + "repo": "incbin", + "rev": "22061f51fe9f2f35f061f85c2b217b55dd75310d", + "type": "github" + }, + "original": { + "owner": "graphitemaster", + "repo": "incbin", + "rev": "22061f51fe9f2f35f061f85c2b217b55dd75310d", + "type": "github" + } + }, + "json-src": { + "flake": false, + "locked": { + "lastModified": 1744360948, + "narHash": "sha256-cECvDOLxgX7Q9R3IE86Hj9JJUxraDQvhoyPDF03B2CY=", + "owner": "nlohmann", + "repo": "json", + "rev": "55f93686c01528224f448c19128836e7df245f72", + "type": "github" + }, + "original": { + "owner": "nlohmann", + "ref": "v3.12.0", + "repo": "json", + "type": "github" + } + }, + "libgit2-src": { + "flake": false, + "locked": { + "lastModified": 1749227175, + "narHash": "sha256-/xI3v7LNhpgfjv/m+sZwYDhhYvS6kQYxiiiG3+EF8Mw=", + "owner": "libgit2", + "repo": "libgit2", + "rev": "0060d9cf5666f015b1067129bd874c6cc4c9c7ac", + "type": "github" + }, + "original": { + "owner": "libgit2", + "ref": "v1.9.1", + "repo": "libgit2", + "type": "github" + } + }, + "luajit-src": { + "flake": false, + "locked": { + "lastModified": 1763177035, + "narHash": "sha256-oYD86MqmlJpiCuEs4LwVtxvarPtz1RPWm8nJqNE0sBs=", + "owner": "SteamClientHomebrew", + "repo": "LuaJIT", + "rev": "89550023569c3e195e75e12951c067fe5591e0d2", + "type": "github" + }, + "original": { + "owner": "SteamClientHomebrew", + "ref": "v2.1", + "repo": "LuaJIT", + "type": "github" + } + }, + "luajson-src": { + "flake": false, + "locked": { + "lastModified": 1763065879, + "narHash": "sha256-5Mdp4jp+rqz2ufkBa1gMfd8nep+Um+mBdr6+Ut6yz9I=", + "owner": "SteamClientHomebrew", + "repo": "LuaJSON", + "rev": "0c1fabf07c42f3907287d1e4f729e0620c1fe6fd", + "type": "github" + }, + "original": { + "owner": "SteamClientHomebrew", + "repo": "LuaJSON", + "rev": "0c1fabf07c42f3907287d1e4f729e0620c1fe6fd", + "type": "github" + } + }, + "microvm": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nixpkgs" + ], + "spectrum": "spectrum" + }, + "locked": { + "lastModified": 1771365290, + "narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=", + "owner": "microvm-nix", + "repo": "microvm.nix", + "rev": "789c90b164b55b4379e7a94af8b9c01489024c18", + "type": "github" + }, + "original": { + "owner": "microvm-nix", + "repo": "microvm.nix", + "type": "github" + } + }, + "millennium": { + "inputs": { + "abseil-src": "abseil-src", + "asio-src": "asio-src", + "curl-src": "curl-src", + "fmt-src": "fmt-src", + "incbin-src": "incbin-src", + "json-src": "json-src", + "libgit2-src": "libgit2-src", + "luajit-src": "luajit-src", + "luajson-src": "luajson-src", + "millennium-src": "millennium-src", + "minhook-src": "minhook-src", + "mini-src": "mini-src", + "minizip-src": "minizip-src", + "nixpkgs": [ + "nixpkgs-unstable" + ], + "re2-src": "re2-src", + "websocketpp-src": "websocketpp-src", + "zlib-src": "zlib-src" + }, + "locked": { + "dir": "packages/nix", + "lastModified": 1774491538, + "narHash": "sha256-11rgTocaXAIFYVEcbb6ju/sDN6sZpxjneXj9FSbgwrA=", + "owner": "SteamClientHomebrew", + "repo": "millennium", + "rev": "bf8b0cd016fcc4168c4e348cbcbfd237de4c01c8", + "type": "github" + }, + "original": { + "dir": "packages/nix", + "owner": "SteamClientHomebrew", + "repo": "millennium", + "type": "github" + } + }, + "millennium-src": { + "flake": false, + "locked": { + "lastModified": 1770463863, + "narHash": "sha256-MceGTpXobCAh5Ll/1iTWcEf6/nHY3Ll1t06JxbYc+Co=", + "owner": "SteamClientHomebrew", + "repo": "Millennium", + "rev": "1bc62c94a06f25f7e8d7e269f11cd968cf576bff", + "type": "github" + }, + "original": { + "owner": "SteamClientHomebrew", + "repo": "Millennium", + "rev": "1bc62c94a06f25f7e8d7e269f11cd968cf576bff", + "type": "github" + } + }, + "minhook-src": { + "flake": false, + "locked": { + "lastModified": 1743163800, + "narHash": "sha256-0eGFfg365bb4zic1WTHMvKHbxuhhGp72/clu8OklHXs=", + "owner": "TsudaKageyu", + "repo": "minhook", + "rev": "c3fcafdc10146beb5919319d0683e44e3c30d537", + "type": "github" + }, + "original": { + "owner": "TsudaKageyu", + "ref": "v1.3.4", + "repo": "minhook", + "type": "github" + } + }, + "mini-src": { + "flake": false, + "locked": { + "lastModified": 1743356736, + "narHash": "sha256-zBFFOlECbie7+62fTGf+NP4gNmfv2Qddw3ys6xn7o9U=", + "owner": "metayeti", + "repo": "mINI", + "rev": "52b66e987cb56171dc91d96115cdf094b6e4d7a0", + "type": "github" + }, + "original": { + "owner": "metayeti", + "ref": "0.9.18", + "repo": "mINI", + "type": "github" + } + }, + "minizip-src": { + "flake": false, + "locked": { + "lastModified": 1746408966, + "narHash": "sha256-I3CZwtfJMsZYQOMdGhooUN8vssnQj6rCzv8F+rne3vg=", + "owner": "zlib-ng", + "repo": "minizip-ng", + "rev": "f3ed731e27a97e30dffe076ed5e0537daae5c1bd", + "type": "github" + }, + "original": { + "owner": "zlib-ng", + "ref": "4.0.10", + "repo": "minizip-ng", + "type": "github" + } + }, "nix-flatpak": { "locked": { "lastModified": 1767983141, @@ -36,13 +407,61 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nt", + "nix-unit", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737420293, + "narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-unit": { + "inputs": { + "flake-parts": "flake-parts", + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "cerulean", + "nt", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1762774186, + "narHash": "sha256-hRADkHjNt41+JUHw2EiSkMaL4owL83g5ZppjYUdF/Dc=", + "owner": "nix-community", + "repo": "nix-unit", + "rev": "1c9ab50554eed0b768f9e5b6f646d63c9673f0f7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-unit", + "type": "github" + } + }, "nixcats": { "locked": { - "lastModified": 1770584904, - "narHash": "sha256-9Zaz8lbKF2W9pwXZEnbiGsicHdBoU+dHt3Wv3mCJoZ8=", + "lastModified": 1774835836, + "narHash": "sha256-6ok7iv/9R82vl6MYe3Lwyyb6S5bmW2PxEZtmjzlqyPs=", "owner": "BirdeeHub", "repo": "nixCats-nvim", - "rev": "538fdde784d2909700d97a8ef307783b33a86fb1", + "rev": "ebb9f279a55ca60ff4e37e4accf6518dc627aa8d", "type": "github" }, "original": { @@ -53,11 +472,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1767313136, + "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "type": "github" }, "original": { @@ -67,21 +502,56 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1775608838, + "narHash": "sha256-2ySoGH+SAi34U0PeuQgABC0WiH9LQ3tkyHTiE93KUeg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9a01fad67a57e44e1b3e1d905c6881bcfb209e8a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nt": { + "inputs": { + "nix-unit": "nix-unit", + "nixpkgs": "nixpkgs", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1770975056, + "narHash": "sha256-ZXTz/P3zUbbM6lNXzt91u8EwfNqhXpYMu8+wvFZqQHE=", + "owner": "cry128", + "repo": "nt", + "rev": "f42dcdd49a7921a7f433512e83d5f93696632412", + "type": "github" + }, + "original": { + "owner": "cry128", + "repo": "nt", + "type": "github" + } + }, "plasma-manager": { "inputs": { "home-manager": [ - "home-manager" + "home-manager-unstable" ], "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1770766818, - "narHash": "sha256-12RCFLyAedyMOdenUi7cN3ioJPEGjA/ZG1BLjugfUVs=", + "lastModified": 1774915545, + "narHash": "sha256-COT4l/+ZddGBvrDVfPf7MEOJxV8EDKame6/aRnNIKcY=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "44b928068359b7d2310a34de39555c63c93a2c90", + "rev": "f3177b3c69fb3f03201098d7fe8ab6422cce7fc1", "type": "github" }, "original": { @@ -90,13 +560,215 @@ "type": "github" } }, + "re2-src": { + "flake": false, + "locked": { + "lastModified": 1762353507, + "narHash": "sha256-0J1HVk+eR7VN0ymucW9dNlT36j16XIfCzcs1EVyEIEU=", + "owner": "google", + "repo": "re2", + "rev": "927f5d53caf8111721e734cf24724686bb745f55", + "type": "github" + }, + "original": { + "owner": "google", + "ref": "2025-11-05", + "repo": "re2", + "type": "github" + } + }, "root": { "inputs": { - "home-manager": "home-manager", + "cerulean": "cerulean", + "home-manager-unstable": "home-manager-unstable", + "millennium": "millennium", "nix-flatpak": "nix-flatpak", "nixcats": "nixcats", - "nixpkgs": "nixpkgs", - "plasma-manager": "plasma-manager" + "nixpkgs": "nixpkgs_2", + "nixpkgs-unstable": "nixpkgs-unstable", + "plasma-manager": "plasma-manager", + "systems": "systems_3", + "zen-browser": "zen-browser" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775365543, + "narHash": "sha256-f50qrK0WwZ9z5EdaMGWOTtALgSF7yb7XwuE7LjCuDmw=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "a4ee2de76efb759fe8d4868c33dec9937897916f", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, + "spectrum": { + "flake": false, + "locked": { + "lastModified": 1759482047, + "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", + "ref": "refs/heads/main", + "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", + "revCount": 996, + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + }, + "original": { + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + } + }, + "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" + } + }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nt", + "nix-unit", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762410071, + "narHash": "sha256-aF5fvoZeoXNPxT0bejFUBXeUjXfHLSL7g+mjR/p5TEg=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "97a30861b13c3731a84e09405414398fbf3e109f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "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" + } + }, + "websocketpp-src": { + "flake": false, + "locked": { + "lastModified": 1587320717, + "narHash": "sha256-9fIwouthv2GcmBe/UPvV7Xn9P2o0Kmn2hCI4jCh0hPM=", + "owner": "zaphoyd", + "repo": "websocketpp", + "rev": "56123c87598f8b1dd471be83ca841ceae07f95ba", + "type": "github" + }, + "original": { + "owner": "zaphoyd", + "ref": "0.8.2", + "repo": "websocketpp", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "home-manager": [ + "home-manager-unstable" + ], + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1775453133, + "narHash": "sha256-VIlMG985ONqVqF+OnPuS5Shbz5k6tqbOWnDL7EH+IT4=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "8d0508ffceba8ad785ae442591dd115080a55142", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } + }, + "zlib-src": { + "flake": false, + "locked": { + "lastModified": 1754565515, + "narHash": "sha256-c2RYqHi3hj/ViBzJcYWoNib27GAbq/B1SJUfvG7CPG4=", + "owner": "zlib-ng", + "repo": "zlib-ng", + "rev": "425439062b114a0f6cf625022c41d929c7e879f9", + "type": "github" + }, + "original": { + "owner": "zlib-ng", + "ref": "2.2.5", + "repo": "zlib-ng", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 412d931..2479289 100644 --- a/flake.nix +++ b/flake.nix @@ -2,52 +2,42 @@ description = "release the dea files"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + systems.url = "github:nix-systems/default-linux"; + + nixpkgs.url = "github:NixOS/nixpkgs"; + nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager-unstable.url = "github:nix-community/home-manager"; + home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable"; + + cerulean.url = "github:cry128/cerulean/v0.2.5-alpha"; + cerulean.inputs.systems.follows = "systems"; + cerulean.inputs.nixpkgs.follows = "nixpkgs-unstable"; + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; nixcats.url = "github:BirdeeHub/nixCats-nvim"; plasma-manager = { url = "github:nix-community/plasma-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.home-manager.follows = "home-manager"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + inputs.home-manager.follows = "home-manager-unstable"; + }; + + millennium = { + url = "github:SteamClientHomebrew/millennium?dir=packages/nix"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + inputs.home-manager.follows = "home-manager-unstable"; }; }; + + nixConfig = { + extra-experimental-features = "pipe-operators"; + }; - outputs = - inputs@{ self, nixpkgs, nixcats, ... }: - let - lib = nixpkgs.lib; - - commonModules = [ - ./configuration.nix - ./user.nix - inputs.nix-flatpak.nixosModules.nix-flatpak - ]; - in - { - # laptop - nixosConfigurations.nahemah = lib.nixosSystem { - specialArgs = { - host = "nahemah"; - inherit inputs; - }; - modules = [ - ./hosts/nahemah/hardware-configuration.nix - ] - ++ commonModules; - }; - - # pc - nixosConfigurations.sandalphon = lib.nixosSystem { - specialArgs = { inherit inputs; }; - modules = [ - ./hosts/sandalphon/hardware-configuration.nix - ./hosts/sandalphon/configuration.nix - ./hosts/sandalphon/games.nix - ] - ++ commonModules; - }; - }; + outputs = {cerulean, ...} @ inputs: + cerulean.snow.flake inputs ./.; } diff --git a/groups/all/default.nix b/groups/all/default.nix new file mode 100644 index 0000000..ab72c63 --- /dev/null +++ b/groups/all/default.nix @@ -0,0 +1,30 @@ +# configuration shared by all cerulean nodes +{lib, ...}: { + nix.settings.extra-experimental-features = [ + "nix-command" + "flakes" + "pipe-operators" + ]; + + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = lib.mkDefault "tohka"; + networking.networkmanager.enable = true; + networking.nftables.enable = true; # firewall + networking.firewall.enable = true; + + time.timeZone = lib.mkDefault "America/New_York"; + i18n.defaultLocale = lib.mkDefault "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; +} diff --git a/groups/yezelhlev/default.nix b/groups/yezelhlev/default.nix new file mode 100644 index 0000000..e257e3b --- /dev/null +++ b/groups/yezelhlev/default.nix @@ -0,0 +1,95 @@ +{ + pkgs, + root, + ... +}: { + imports = [ + ./programs.nix + /${root}/hosts/modules/steam.nix + ]; + + # Configure keymap in X11 + services.xserver.enable = true; + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + # Enable the KDE Plasma Desktop Environment. + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + + # Enable CUPS to print documents. + services.printing.enable = true; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + audio.enable = true; + wireplumber.enable = true; + + alsa.enable = true; + alsa.support32Bit = true; + # pulse.enable = true; + # jack.enable = true; + }; + + security.polkit.enable = true; + + services.nginx.enable = true; + + services.mullvad-vpn = { + enable = true; + package = pkgs.mullvad-vpn; # mullvad only has the cli + }; + + # Enable docker virtualisation. + virtualisation.docker.enable = true; + + programs.nix-ld = { + enable = true; + libraries = [ + ## Put here any library that is required when running a package + ## ... + ## Uncomment if you want to use the libraries provided by default in the steam distribution + ## but this is quite far from being exhaustive + ## https://github.com/NixOS/nixpkgs/issues/354513 + (pkgs.runCommand "steamrun-lib" {} "mkdir $out; ln -s ${pkgs.steam-run.fhsenv}/usr/lib64 $out/lib") + ]; + }; + + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 7d --keep 3"; + flake = "/home/dea/dea-files"; # sets NH_OS_FLAKE variable for you + }; + + users.users.dea = { + description = "dea"; + isNormalUser = true; + extraGroups = [ + "networkmanager" + "wheel" + "docker" + ]; + packages = with pkgs; [ + kdePackages.kate + # thunderbird + ]; + }; + + # Better alternative to the standard ssh-agent + # services.pcscd.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # 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 = "24.11"; # Did you read the comment? +} diff --git a/groups/yezelhlev/programs.nix b/groups/yezelhlev/programs.nix new file mode 100644 index 0000000..e47ac0e --- /dev/null +++ b/groups/yezelhlev/programs.nix @@ -0,0 +1,68 @@ +{upkgs, ...}: { + # ====================== + # List packages installed in system profile. To search, run: + # $ nix search wget + # nixos-rebuild switch --use-remote-sudo + # ====================== + # Update packages?: + # sudo nix-channel --update + # sudo nixos-rebuild switch + # ====================== + # sudo nixos-rebuild switch --flake . + environment.systemPackages = with upkgs; [ + # CLI tools + git + wget + unzip + p7zip + kitty # terminal + starship # shell customizer + btop-cuda # system monitoring + croc # e2ee file transfer + chawan # tui browser cha + shellcheck # sh warning + calcure # calendar app TODO: remove & fork calendar.vim + + # editors + #lunarvim + vscode + + # languages + gcc + gdb + glibc.static + python3 + nixfmt + + # window management + wayland + + # programs + vivaldi # TODO: switch to zen later + vesktop # discord-canary + equibop # equibop 3.1.7 + element-desktop # element 4 matrix + monophony # yt music tryout + syncplay + qbittorrent + libreoffice-qt # libreoffice + notepad-next # notepad++ + # notepadqq # TODO: which is better? + sqlitebrowser + bottles # windows emulation + + # dependencies + qt5.qtbase # vivaldi + others + libsForQt5.qtstyleplugin-kvantum # libs for Qt5 + libsForQt5.qt5ct + libsForQt5.qt5.qtbase + + hunspell # spellcheck for libreoffice + hunspellDicts.uk_UA + hunspellDicts.th_TH + openjdk + + ffmpeg-full # mpv + syncplay + yt-dlp + ]; +} diff --git a/home.nix b/home.nix deleted file mode 100644 index 870fe24..0000000 --- a/home.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ - pkgs, - inputs, - ... -}: - -{ - # Enables nix commands + flakes - nix = { - settings.extra-experimental-features = [ - "nix-command" - "flakes" - ]; - }; - - # Home manager things - home.username = "dea"; - home.homeDirectory = "/home/dea"; - home.stateVersion = "25.11"; - home.packages = with pkgs; [ - libsForQt5.qtstyleplugin-kvantum # libs for Qt5 - libsForQt5.qt5ct - libsForQt5.qt5.qtbase - btop-cuda - - croc - syncplay - ]; - - # programs.neovim = { }; - - home.sessionPath = [ - "$HOME/.local/bin" - ]; - - nixpkgs.config.allowUnfree = true; - nixpkgs.overlays = [ - (import ./exprs/overlay.nix { }) - (self: super: { - element-desktop = super.element-desktop.overrideAttrs ( - final: prev: { - desktopItems = [ - ((builtins.elemAt prev.desktopItems 0).override { - exec = "element-desktop %u --password-store=\"gnome-libsecret\""; - }) - ]; - } - ); - }) - ]; - imports = [ - ./homemanager/mpv.nix - ./hosts/sandalphon/mcsr/home.nix - ./homemanager/vim/nixcats.nix - inputs.plasma-manager.homeModules.plasma-manager - ]; - - # dconf.settings = {}; - - # home = {}; - - programs.bash = { - enable = true; - bashrcExtra = builtins.readFile ./homemanager/bashrc; - }; - - # programs.starship = { - # enable = true; - # settings = { - # add_newline = true; - - # format = ''$directory\n - # $character''; - - # directory = { - # truncation_length = 3; - # truncate_to_repo = false; - # format = "[$path]($style) [❤](bold fg:#ff5fff) "; - # style = "bold cyan"; - # }; - # character = { - # success_symbol = ""; - # error_symbol = ""; - # }; - # }; - # }; - - programs.plasma = { - enable = true; - kwin.edgeBarrier = 50; - }; - - programs.home-manager.enable = true; -} diff --git a/homemanager/bashrc b/homemanager/bashrc deleted file mode 100644 index 1947c6f..0000000 --- a/homemanager/bashrc +++ /dev/null @@ -1,17 +0,0 @@ -eval "$(starship init bash)" - -alias eep='systemctl suspend' -alias hibernate='systemctl hybrid-sleep' -alias restart='systemctl reboot' -alias shutdown='systemctl poweroff' -alias vim='dvim' -alias nvim='dvim' -rebuild() { - if [ -z "$1" ] - then - sudo nixos-rebuild switch --flake ~/dea-files#"$(hostname)" - else - sudo nixos-rebuild switch --flake ~/dea-files#"$1" - fi -} -[ -f "/home/dea/.ghcup/env" ] && . "/home/dea/.ghcup/env" # ghcup-env diff --git a/homes/dea/default.nix b/homes/dea/default.nix new file mode 100644 index 0000000..e3595dc --- /dev/null +++ b/homes/dea/default.nix @@ -0,0 +1,40 @@ +{ + config, + inputs, + root, + ... +}: { + imports = [ + inputs.plasma-manager.homeModules.plasma-manager # + + /${root}/homes/modules/bash + /${root}/homes/modules/starship + /${root}/homes/modules/vim + /${root}/homes/modules/mpv + /${root}/homes/modules/zen + ]; + + home.username = "dea"; + home.homeDirectory = "/home/dea"; + home.sessionPath = [ + "$HOME/.local/bin" + ]; + home.shellAliases = { + eep = "systemctl suspend"; + hibernate = "systemctl hybrid-sleep"; + restart = "systemctl reboot"; + shutdown = "systemctl poweroff"; + vim = "dvim"; + nvim = "dvim"; + rebuild = "nh os switch ~/dea-files"; + trybuild = "nh os test ~/dea-files"; + }; + + programs.plasma = { + enable = true; + kwin.edgeBarrier = 50; + }; + + # DO NOT MODIFY + home.stateVersion = "25.11"; +} diff --git a/homes/modules/bash/bashrc b/homes/modules/bash/bashrc new file mode 100644 index 0000000..b1070af --- /dev/null +++ b/homes/modules/bash/bashrc @@ -0,0 +1,3 @@ +eval "$(starship init bash)" + +[ -f "/home/dea/.ghcup/env" ] && . "/home/dea/.ghcup/env" # ghcup-env diff --git a/homes/modules/bash/default.nix b/homes/modules/bash/default.nix new file mode 100644 index 0000000..8078099 --- /dev/null +++ b/homes/modules/bash/default.nix @@ -0,0 +1,6 @@ +{...}: { + programs.bash = { + enable = true; + bashrcExtra = builtins.readFile ./bashrc; + }; +} diff --git a/homemanager/mpv.nix b/homes/modules/mpv/default.nix similarity index 100% rename from homemanager/mpv.nix rename to homes/modules/mpv/default.nix diff --git a/homes/modules/starship/default.nix b/homes/modules/starship/default.nix new file mode 100644 index 0000000..39017df --- /dev/null +++ b/homes/modules/starship/default.nix @@ -0,0 +1,8 @@ +{...}: { + programs.starship = { + enable = true; + settings = + builtins.readFile ./starship.toml + |> builtins.fromTOML; + }; +} diff --git a/homemanager/starship.toml b/homes/modules/starship/starship.toml similarity index 100% rename from homemanager/starship.toml rename to homes/modules/starship/starship.toml diff --git a/homes/modules/vim/default.nix b/homes/modules/vim/default.nix new file mode 100644 index 0000000..c42d9b4 --- /dev/null +++ b/homes/modules/vim/default.nix @@ -0,0 +1 @@ +import ./nixcats.nix diff --git a/homemanager/vim/init.lua b/homes/modules/vim/init.lua similarity index 100% rename from homemanager/vim/init.lua rename to homes/modules/vim/init.lua diff --git a/homemanager/vim/lua/lsp/capabilities.lua b/homes/modules/vim/lua/lsp/capabilities.lua similarity index 100% rename from homemanager/vim/lua/lsp/capabilities.lua rename to homes/modules/vim/lua/lsp/capabilities.lua diff --git a/homemanager/vim/lua/lsp/completion.lua b/homes/modules/vim/lua/lsp/completion.lua similarity index 100% rename from homemanager/vim/lua/lsp/completion.lua rename to homes/modules/vim/lua/lsp/completion.lua diff --git a/homemanager/vim/lua/lsp/indentation.lua b/homes/modules/vim/lua/lsp/indentation.lua similarity index 66% rename from homemanager/vim/lua/lsp/indentation.lua rename to homes/modules/vim/lua/lsp/indentation.lua index df7c2a8..edab845 100644 --- a/homemanager/vim/lua/lsp/indentation.lua +++ b/homes/modules/vim/lua/lsp/indentation.lua @@ -7,6 +7,15 @@ vim.api.nvim_create_autocmd("FileType", { end, }) +vim.api.nvim_create_autocmd("FileType", { + pattern = "hs", + callback = function() + vim.opt_local.shiftwidth = 2 + vim.opt_local.tabstop = 2 + vim.opt_local.expandtab = true + end, +}) + vim.api.nvim_create_autocmd("FileType", { pattern = "nix", callback = function() diff --git a/homemanager/vim/lua/lsp/init.lua b/homes/modules/vim/lua/lsp/init.lua similarity index 100% rename from homemanager/vim/lua/lsp/init.lua rename to homes/modules/vim/lua/lsp/init.lua diff --git a/homemanager/vim/lua/lsp/lsp.lua b/homes/modules/vim/lua/lsp/lsp.lua similarity index 100% rename from homemanager/vim/lua/lsp/lsp.lua rename to homes/modules/vim/lua/lsp/lsp.lua diff --git a/homemanager/vim/lua/plugins/comment.lua b/homes/modules/vim/lua/plugins/comment.lua similarity index 100% rename from homemanager/vim/lua/plugins/comment.lua rename to homes/modules/vim/lua/plugins/comment.lua diff --git a/homemanager/vim/lua/plugins/dressing.lua b/homes/modules/vim/lua/plugins/dressing.lua similarity index 100% rename from homemanager/vim/lua/plugins/dressing.lua rename to homes/modules/vim/lua/plugins/dressing.lua diff --git a/homemanager/vim/lua/plugins/format.lua b/homes/modules/vim/lua/plugins/format.lua similarity index 100% rename from homemanager/vim/lua/plugins/format.lua rename to homes/modules/vim/lua/plugins/format.lua diff --git a/homemanager/vim/lua/plugins/fyler.lua b/homes/modules/vim/lua/plugins/fyler.lua similarity index 100% rename from homemanager/vim/lua/plugins/fyler.lua rename to homes/modules/vim/lua/plugins/fyler.lua diff --git a/homemanager/vim/lua/plugins/init.lua b/homes/modules/vim/lua/plugins/init.lua similarity index 100% rename from homemanager/vim/lua/plugins/init.lua rename to homes/modules/vim/lua/plugins/init.lua diff --git a/homemanager/vim/lua/plugins/mini-hipatterns.lua b/homes/modules/vim/lua/plugins/mini-hipatterns.lua similarity index 100% rename from homemanager/vim/lua/plugins/mini-hipatterns.lua rename to homes/modules/vim/lua/plugins/mini-hipatterns.lua diff --git a/homemanager/vim/lua/plugins/orgmode.lua b/homes/modules/vim/lua/plugins/orgmode.lua similarity index 92% rename from homemanager/vim/lua/plugins/orgmode.lua rename to homes/modules/vim/lua/plugins/orgmode.lua index aae46cb..1f308e0 100644 --- a/homemanager/vim/lua/plugins/orgmode.lua +++ b/homes/modules/vim/lua/plugins/orgmode.lua @@ -1,7 +1,7 @@ # options: https://github.com/nvim-orgmode/orgmode/blob/master/docs/installation.org return { { - "nvim-orgmode/orgmode", + "orgmode", event = { "FileType" }, ft = { "org" }, after = function(plugin) diff --git a/homemanager/vim/lua/plugins/telescope.lua b/homes/modules/vim/lua/plugins/telescope.lua similarity index 100% rename from homemanager/vim/lua/plugins/telescope.lua rename to homes/modules/vim/lua/plugins/telescope.lua diff --git a/homemanager/vim/lua/plugins/treesitter.lua b/homes/modules/vim/lua/plugins/treesitter.lua similarity index 100% rename from homemanager/vim/lua/plugins/treesitter.lua rename to homes/modules/vim/lua/plugins/treesitter.lua diff --git a/homemanager/vim/nixcats.nix b/homes/modules/vim/nixcats.nix similarity index 99% rename from homemanager/vim/nixcats.nix rename to homes/modules/vim/nixcats.nix index 32b54cc..b45a388 100644 --- a/homemanager/vim/nixcats.nix +++ b/homes/modules/vim/nixcats.nix @@ -85,6 +85,7 @@ in nvim-web-devicons base16-nvim mini-nvim + calendar-vim (pkgs.vimUtils.buildVimPlugin { pname = "candyland-nvim"; diff --git a/homes/modules/zen/default.nix b/homes/modules/zen/default.nix new file mode 100644 index 0000000..3044c4e --- /dev/null +++ b/homes/modules/zen/default.nix @@ -0,0 +1,15 @@ +{ + inputs, + ... +}: + +{ + imports = [ + inputs.zen-browser.homeModules.twilight + ]; + + programs.zen-browser = { + enable = true; + # policies = {}; + }; +} diff --git a/hosts/modules/steam.nix b/hosts/modules/steam.nix new file mode 100644 index 0000000..7d409b6 --- /dev/null +++ b/hosts/modules/steam.nix @@ -0,0 +1,24 @@ +{upkgs, ...}: { + programs.steam = { + enable = true; + package = upkgs.millennium-steam; + + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + localNetworkGameTransfers.openFirewall = true; + + extraCompatPackages = with upkgs; [ + proton-ge-bin + ]; + }; + + programs.gamemode.enable = true; + + environment.systemPackages = with upkgs; [ + steamcmd + protonup-qt + + bottles + mangohud + ]; +} diff --git a/hosts/nahemah/configuration.nix b/hosts/nahemah/configuration.nix deleted file mode 100644 index 604175f..0000000 --- a/hosts/nahemah/configuration.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - lib, - pkgs, - ... -}: - -{ - networking.hostName = lib.mkForce "nahemah"; - - environment.systemPackages = with pkgs; [ - - ]; -} diff --git a/hosts/nahemah/default.nix b/hosts/nahemah/default.nix new file mode 100644 index 0000000..2e29aba --- /dev/null +++ b/hosts/nahemah/default.nix @@ -0,0 +1,7 @@ +{...}: { + imports = [ + ./hardware-configuration.nix + ]; + + networking.hostName = "nahemah"; +} diff --git a/hosts/sandalphon/configuration.nix b/hosts/sandalphon/configuration.nix deleted file mode 100644 index b333047..0000000 --- a/hosts/sandalphon/configuration.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - lib, - inputs, - pkgs, - config, - ... -}: - -let - nvidiaPackage = config.hardware.nvidia.package; -in -{ - networking.hostName = lib.mkForce "sandalphon"; - - # nvidia drivers - hardware.graphics.enable = true; - services.xserver.videoDrivers = lib.mkDefault [ "nvidia" ]; - hardware.nvidia = { - modesetting.enable = true; - # Nvidia power management. Experimental, and can cause sleep/suspend to fail. - # Enable this if you have graphical corruption issues or application crashes after waking - # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead - # of just the bare essentials. - powerManagement.enable = false; - - powerManagement.finegrained = false; - # open = true; - open = lib.mkOverride 990 (nvidiaPackage ? open && nvidiaPackage ? firmware); - # Enable the Nvidia settings menu, - # accessible via `nvidia-settings`. - nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - - services.flatpak = { - enable = true; - packages = [ - { - appId = "org.vinegarhq.Sober"; - origin = "flathub"; - } - ]; - }; - - environment.systemPackages = with pkgs; [ - - ]; -} diff --git a/hosts/sandalphon/default.nix b/hosts/sandalphon/default.nix new file mode 100644 index 0000000..6c5ff1d --- /dev/null +++ b/hosts/sandalphon/default.nix @@ -0,0 +1,35 @@ +{config, ...}: { + imports = [ + ./hardware-configuration.nix + ./games.nix + ]; + + networking.hostName = "sandalphon"; + + # nvidia drivers + hardware.graphics.enable = true; + services.xserver.videoDrivers = ["nvidia"]; + hardware.nvidia = { + package = config.boot.kernelPackages.nvidiaPackages.stable; + open = true; + + nvidiaSettings = true; + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + }; + + services.flatpak = { + enable = true; + packages = [ + { + appId = "org.vinegarhq.Sober"; + origin = "flathub"; + } + ]; + }; + + home-manager.sharedModules = [ + ./mcsr + ]; +} diff --git a/hosts/sandalphon/games.nix b/hosts/sandalphon/games.nix index ec1fe17..187240d 100644 --- a/hosts/sandalphon/games.nix +++ b/hosts/sandalphon/games.nix @@ -1,14 +1,10 @@ -{ pkgs, ... }: - -{ - imports = [ ./mcsr ]; - +{upkgs, ...}: { # hardware = { # xone.enable = true; # xpadneo.enable = true; # }; - environment.systemPackages = with pkgs; [ + environment.systemPackages = with upkgs; [ prismlauncher # minecraft r2modman # osu-lazer-bin @@ -19,7 +15,7 @@ programs = { obs-studio = { enable = true; - plugins = with pkgs.obs-studio-plugins; [ + plugins = with upkgs.obs-studio-plugins; [ obs-pipewire-audio-capture ]; }; diff --git a/hosts/sandalphon/mcsr/default.nix b/hosts/sandalphon/mcsr/default.nix index ffcd441..eeb82a4 100644 --- a/hosts/sandalphon/mcsr/default.nix +++ b/hosts/sandalphon/mcsr/default.nix @@ -1 +1 @@ -{ } +import ./home.nix diff --git a/hosts/sandalphon/mcsr/ninjabrain.nix b/hosts/sandalphon/mcsr/ninjabrain.nix index cfb94f6..be14045 100644 --- a/hosts/sandalphon/mcsr/ninjabrain.nix +++ b/hosts/sandalphon/mcsr/ninjabrain.nix @@ -11,11 +11,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "ninjabrain-bot"; - version = "1.5.1"; + version = "1.5.2"; src = fetchurl { url = "https://github.com/Ninjabrain1/Ninjabrain-Bot/releases/download/${finalAttrs.version}/Ninjabrain-Bot-${finalAttrs.version}.jar"; - hash = "sha256-Rxu9A2EiTr69fLBUImRv+RLC2LmosawIDyDPIaRcrdw="; + hash = "sha256-mAmfYyGpDUrOwTQA6G0F96+NYOVjnC84Qn6WjccUUP8="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/hosts/sandalphon/mcsr/waywall.lua b/hosts/sandalphon/mcsr/waywall.lua index aae7329..1297ea3 100644 --- a/hosts/sandalphon/mcsr/waywall.lua +++ b/hosts/sandalphon/mcsr/waywall.lua @@ -33,7 +33,7 @@ local mc_eye_y = (tall_h - mc_eye_h) / 2 -- https://github.com/Esensats/mcsr-calcsens local normal_sens = 4.699455756166794 local tall_sens = 0.31702247418659996 - +-- 0.0229116492 local left_middle = (resolution.w - thin_w) / 4 scene:register("e_counter", { diff --git a/nixpkgs.nix b/nixpkgs.nix new file mode 100644 index 0000000..46b6e92 --- /dev/null +++ b/nixpkgs.nix @@ -0,0 +1,32 @@ +{ + inputs, + system, + ... +} @ args: { + nixpkgs.channels = { + default = { + inherit system; + overlays = [ + (import ./overlays args) + ]; + config = { + allowUnfree = true; + allowBroken = false; + }; + }; + + # nixpkgs-unstable (upkgs) + upkgs = { + inherit system; + source = inputs.nixpkgs-unstable; + overlays = [ + inputs.millennium.overlays.default + (import ./overlays args) + ]; + config = { + allowUnfree = true; + allowBroken = false; + }; + }; + }; +} diff --git a/overlays/default.nix b/overlays/default.nix new file mode 100644 index 0000000..446cb54 --- /dev/null +++ b/overlays/default.nix @@ -0,0 +1,30 @@ +{ + inputs, + system, + ... +}: ( + self: super: { + element-desktop = super.element-desktop.overrideAttrs ( + final: prev: { + desktopItems = [ + ((builtins.elemAt prev.desktopItems 0).override { + exec = "element-desktop %u --password-store=\"gnome-libsecret\""; + }) + ]; + } + ); + + waywall = super.waywall.overrideAttrs ( + f: p: { + version = "0-unstable-2026-01-06"; + + src = super.fetchFromGitHub { + owner = "tesselslate"; + repo = "waywall"; + rev = "c6504f95f8d757a2e060c4df8bd3ed145ad59e8d"; + hash = "sha256-kfBsppc+esz0Q6iIIKAeOMwkIWdN12AlH3Dji8bU32c="; + }; + } + ); + } +) diff --git a/snow.nix b/snow.nix new file mode 100644 index 0000000..f132e1a --- /dev/null +++ b/snow.nix @@ -0,0 +1,30 @@ +{inputs, ...}: { + nodes = { + base = inputs.nixpkgs-unstable; + homeManager = inputs.home-manager-unstable; + + args = {inherit inputs;}; + modules = [ + inputs.nix-flatpak.nixosModules.nix-flatpak + ]; + + groups = { + # desktop environment group + yezelhlev = {}; + }; + + nodes = { + # laptop + nahemah = { + system = "x86_64-linux"; + groups = groups: [groups.yezelhlev]; + }; + + # pc + sandalphon = { + system = "x86_64-linux"; + groups = groups: [groups.yezelhlev]; + }; + }; + }; +} diff --git a/user.nix b/user.nix deleted file mode 100644 index 22eaa3b..0000000 --- a/user.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: -{ - users.users.dea = { - isNormalUser = true; - description = "dea"; - extraGroups = [ - "networkmanager" - "wheel" - "docker" - ]; - packages = with pkgs; [ - kdePackages.kate - # thunderbird - ]; - }; -}