This commit is contained in:
do butterflies cry? 2026-03-07 13:08:30 +10:00
parent ac95603fc4
commit f7de9f7a23
Signed by untrusted user: cry
GPG key ID: F68745A836CA0412
42 changed files with 1061 additions and 445 deletions

View file

@ -1,226 +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"
"pipe-operators"
];
# ======================
# 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 <url>
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. Its 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?
}

View file

@ -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=";
};
}
);
}

671
flake.lock generated
View file

@ -1,17 +1,174 @@
{
"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": 1772852754,
"narHash": "sha256-rYmaW2+zmFXM7Mp+B/fsBkzbAoeApj04F1fSmiS3mXU=",
"owner": "cry128",
"repo": "cerulean",
"rev": "ef5bc338566670380ceec75eb692697c9e81fb7e",
"type": "github"
},
"original": {
"owner": "cry128",
"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": 1772845525,
"narHash": "sha256-Dp5Ir2u4jJDGCgeMRviHvEQDe+U37hMxp6RSNOoMMPc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5bd3589390b431a63072868a90c0f24771ff4cbb",
"rev": "27b93804fbef1544cb07718d3f0a451f4c4cd6c0",
"type": "github"
},
"original": {
@ -20,6 +177,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": 1772390578,
"narHash": "sha256-3yQlDZz9JZqPFiYYj8fQkpCXUzjlAw4s7zaZ2n0wFmE=",
"owner": "SteamClientHomebrew",
"repo": "millennium",
"rev": "41d8c701e1f1ed4362e8378d12bbe5cb0cb811d6",
"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,6 +406,54 @@
"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,
@ -53,11 +471,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": 1772624091,
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
"type": "github"
},
"original": {
@ -67,13 +501,48 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1772850137,
"narHash": "sha256-GDnE1loEXvdsj14OSg2Z2yn49fHAM9NyIy0Rzrfv/sk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6e6ed9890eade044129cacd3205fb7eb44e0be92",
"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": {
@ -90,13 +559,191 @@
"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"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"cerulean",
"nixpkgs"
]
},
"locked": {
"lastModified": 1772495394,
"narHash": "sha256-hmIvE/slLKEFKNEJz27IZ8BKlAaZDcjIHmkZ7GCEjfw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "1d9b98a29a45abe9c4d3174bd36de9f28755e3ff",
"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"
}
},
"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"
}
}
},

View file

@ -2,56 +2,32 @@
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";
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";
};
};
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 ./.;
}

30
groups/all/default.nix Normal file
View file

@ -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";
};
}

View file

@ -0,0 +1,80 @@
{
pkgs,
root,
...
}: {
imports = [
/${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
};
# 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. Its 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?
}

View file

@ -0,0 +1,67 @@
{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; [
wget
lunarvim
vscode
python3
p7zip
unzip
chawan # tui browser cha <url>
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
libsForQt5.qtstyleplugin-kvantum # libs for Qt5
libsForQt5.qt5ct
libsForQt5.qt5.qtbase
btop-cuda
croc
syncplay
];
}

View file

@ -1,80 +0,0 @@
{
pkgs,
inputs,
...
}:
{
# Enables nix commands + flakes - set in configuration.nix
# nix = {
# settings.extra-experimental-features = [
# "nix-command"
# "flakes"
# "pipe-operators"
# ];
# };
# 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 = builtins.readFile ./homemanager/starship.toml
|> builtins.fromTOML;
};
programs.plasma = {
enable = true;
kwin.edgeBarrier = 50;
};
programs.home-manager.enable = true;
}

28
homes/dea/default.nix Normal file
View file

@ -0,0 +1,28 @@
{
inputs,
root,
...
}: {
home.username = "dea";
home.homeDirectory = "/home/dea";
home.sessionPath = [
"$HOME/.local/bin"
];
imports = [
inputs.plasma-manager.homeModules.plasma-manager
/${root}/homes/modules/bash
/${root}/homes/modules/starship
/${root}/homes/modules/vim
/${root}/homes/modules/mpv
];
programs.plasma = {
enable = true;
kwin.edgeBarrier = 50;
};
# DO NOT MODIFY
home.stateVersion = "25.11";
}

View file

@ -0,0 +1,6 @@
{...}: {
programs.bash = {
enable = true;
bashrcExtra = builtins.readFile ./bashrc;
};
}

View file

@ -0,0 +1,8 @@
{...}: {
programs.starship = {
enable = true;
settings =
builtins.readFile ./starship.toml
|> builtins.fromTOML;
};
}

View file

@ -0,0 +1 @@
import ./nixcats.nix

24
hosts/modules/steam.nix Normal file
View file

@ -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
];
}

View file

@ -1,13 +0,0 @@
{
lib,
pkgs,
...
}:
{
networking.hostName = lib.mkForce "nahemah";
environment.systemPackages = with pkgs; [
];
}

View file

@ -0,0 +1,7 @@
{...}: {
imports = [
./hardware-configuration.nix
];
networking.hostName = "nahemah";
}

View file

@ -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; [
];
}

View file

@ -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
];
}

View file

@ -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
];
};

View file

@ -1 +1 @@
{ }
import ./home.nix

32
nixpkgs.nix Normal file
View file

@ -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;
};
};
};
}

30
overlays/default.nix Normal file
View file

@ -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=";
};
}
);
}
)

30
snow.nix Normal file
View file

@ -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];
};
};
};
}