Compare commits

..

47 Commits

Author SHA1 Message Date
75f0e2993f kitty added 2026-07-03 17:24:58 +01:00
36f5d5cdd7 made aliases proper 2026-07-01 21:19:15 +01:00
0630db91fb fixed zsh HOLY SHIT THIS IS THE COOLEST THING EVER 2026-07-01 21:04:37 +01:00
13119c8f7b maybe zsh works 2026-07-01 20:10:13 +01:00
b4350f2dae zsh experimenting 2026-07-01 20:04:02 +01:00
3609e42d8f hackstation config 2026-07-01 19:37:52 +01:00
8b04d1763e added user config 2026-07-01 19:30:05 +01:00
4fd7db083b added first modules 2026-07-01 19:19:40 +01:00
3644a0f265 fresh 2026-07-01 19:07:57 +01:00
f08555296c added rocm drivers 2026-06-30 20:33:44 +01:00
44404e02a0 changed to alejandra for formatting 2026-06-28 13:55:43 +01:00
65e5fd2d99 added nom 2026-06-28 13:06:12 +01:00
ddb1d3c8d2 added custom patched woomer 2026-06-27 10:39:37 +01:00
e7b1f5acaf moved davinci to a flake and added the ffmpeg encoder 2026-06-25 17:37:35 +01:00
8f97b6ff34 fixed wshowkeys errors 2026-06-23 16:16:15 +01:00
2a0fbdcd16 made nvim input a single line 2026-06-20 14:12:03 +01:00
7c74a61821 changed some wine stuff 2026-06-19 14:25:48 +01:00
1862996855 removed deprecated package 2026-06-17 22:51:41 +01:00
f7058034fe added wshowkeys to pc and fixed deprecated i3 packages 2026-06-17 16:07:55 +01:00
f49745b4e4 updated to new nixpkgs version and changed python version 2026-06-15 13:32:24 +01:00
1a656d3231 updated flake and added quickshell 2026-06-14 17:14:44 +01:00
c0993eb22f removed some stuff and moved some stuff 2026-05-27 11:40:53 +01:00
e252ee0613 updated flake and added the wierd unstable call to flake instead of versionless nonsense 2026-05-18 19:51:19 +01:00
783a29e700 enabled jack and added wayvnc 2026-05-15 15:44:44 +01:00
134914f561 updated hyprland to get hotfix 2026-05-14 19:14:07 +01:00
2f7142135f updated hyprland to 0.55 because i need something to do 2026-05-12 10:14:21 +01:00
38f6ec8305 removed kier starmer again (added unbound resolver) 2026-05-08 20:58:19 +01:00
3dadc29a37 updated nvim 2026-05-04 14:28:53 +01:00
48535bb6d4 added shortcut for flakes and updated nvim 2026-05-03 20:14:15 +01:00
087a924e5a updated flake 2026-05-02 11:10:46 +01:00
2e7541e5c3 removed some useless stuff 2026-05-01 15:00:50 +01:00
0c2d3329cb tried to fix something and added bluetui 2026-04-27 16:46:19 +01:00
80f5b4a8f2 removed useless wivrn stuff 2026-04-18 18:16:19 +01:00
4f14a61b6b updated flake 2026-04-17 23:34:28 +01:00
ae3dbafe8b tried to fix davinci but failed :( 2026-04-17 20:23:09 +01:00
63862ae5d9 added opencode (coolest shit ever) 2026-04-17 19:41:11 +01:00
fea8fde271 added any nix shell 2026-04-16 17:29:40 +01:00
cba857e830 stopped nvim following stable 2026-04-07 12:51:31 +01:00
2e7fa85c5a updated flake.lock 2026-04-06 12:17:16 +01:00
deb946154f added steam to laptop so i can play ultrakil 2026-04-02 22:41:50 +01:00
27285a33e2 updated flake 2026-04-02 10:49:59 +01:00
454977900e added dysk that im never gonna use 2026-04-01 14:40:59 +01:00
8ca322be98 updated norgolith 2026-03-29 13:16:17 +01:00
96452d4a90 cleaned up common config and replaced swaync with dunst 2026-03-28 12:16:24 +00:00
74fe377b0c added omnisearch because fuck google 2026-03-24 20:09:21 +00:00
8118984fac updated flake and increased download buffer to 500mb 2026-03-22 12:03:30 +00:00
911930bcc3 re-organised flake inputs and common config 2026-03-22 12:00:27 +00:00
19 changed files with 326 additions and 1414 deletions

3
.gitignore vendored
View File

@@ -1,2 +1,3 @@
.session
modules/chataigne/squashfs-root
/nixos.qcow2
/result

View File

@@ -1,318 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
imports = [
/etc/nixos/hardware-configuration.nix
];
# Allow Nix command and flakes (ofc)
nix.settings = {
cores = 6;
experimental-features = [
"nix-command"
"flakes"
];
};
# Allow unfree packages
nixpkgs = {
config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz") {
config = {
allowUnfree = true;
};
};
};
};
};
# Nix store shit
nix.optimise.automatic = true;
nix.gc = {
automatic = true;
dates = "daily";
options = "--delete-older-than 5d";
};
# Boot
boot = {
loader = {
timeout = 2;
efi = {
canTouchEfiVariables = true;
};
grub = {
efiSupport = true;
device = "nodev";
theme = pkgs.catppuccin-grub;
};
};
plymouth = {
enable = true;
theme = "catppuccin-mocha";
themePackages = with pkgs; [
# By default we would install all themes
(catppuccin-plymouth.override {
variant = "mocha";
})
];
};
};
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.networkmanager.enable = true;
networking.networkmanager.dns = "none";
networking.nameservers = [
"1.1.1.1"
"8.8.8.8"
];
# Enable bluetooth
hardware.bluetooth.enable = true;
hardware.xpadneo.enable = true;
# Set your time zone.
time.timeZone = "Europe/London";
# Locale
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# Windowing Systems
services.xserver.enable = true;
programs.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
};
security.polkit.enable = true;
# Keymap
services.xserver.xkb = {
layout = "gb";
variant = "";
};
console.keyMap = "uk";
# Pipewire
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Local User
users.users.user01 = {
isNormalUser = true;
shell = pkgs.zsh;
description = "user01";
extraGroups = [
"input"
"root"
"plugdev"
"bluetooth"
"networkmanager"
"docker"
"wheel"
];
packages =
with pkgs;
let
input =
{
package,
output ? "default",
}:
inputs.${package}.packages.${pkgs.stdenv.hostPlatform.system}.${output};
wrap =
{
name,
pkg,
modules,
}:
pkgs.symlinkJoin {
inherit name;
paths = [ pkg ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/${name} \
--prefix PATH : ${pkgs.lib.makeBinPath modules}
'';
};
in
[
# Ricing
bibata-cursors
catppuccin-gtk
waybar
hyprlock
cava
cmatrix
swaynotificationcenter
(input {
package = "chataigne";
})
wlogout
wpaperd
kando
oh-my-posh
grimblast
(wrap {
name = "otter-launcher";
pkg = (
input {
package = "otter-launcher";
}
);
modules = [
chafa
jq
];
})
(input {
package = "fsel";
})
# Terminal
carapace
bat
kitty
wl-clipboard
p7zip-rar
wget
playerctl
git
fastfetch
zellij
lsd
(input {
package = "doot";
})
fzf
ripgrep
zsh-autocomplete
nodejs
lazygit
tailscale
unstable.norgolith
# Thunar stuff
xfce.thunar
xfce.thunar-volman
xfce.thunar-vcs-plugin
xfce.thunar-archive-plugin
# Apps
pavucontrol
firefox
htop
input-remapper
tor-browser
gotify-desktop
techmino
mpv
prismlauncher
delfin
onlyoffice-desktopeditors
syncthing
blueman
jellyfin-tui
];
};
# Zsh
programs.zsh = {
enable = true;
enableCompletion = true;
enableBashCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
histSize = 10000;
ohMyZsh = {
enable = true;
plugins = [
"git"
"dirhistory"
"history"
];
};
};
# User programs
programs.dconf.enable = true;
programs.xfconf.enable = true;
# User Services
services.gvfs.enable = true;
services.input-remapper.enable = true;
services.tailscale.enable = true;
services.printing.enable = true;
services.upower.enable = true;
services.openssh.enable = true;
services.avahi.enable = true;
# Fonts
fonts.packages = with pkgs; [
nerd-fonts.fira-mono
];
fonts.fontconfig.defaultFonts.serif = [ "Fira Mono Nerd Font" ];
environment.systemPackages = with pkgs; [
inputs.nvim-wrapped.packages.${stdenv.hostPlatform.system}.default
vim
unzip
python310 # Its python like come on
usbutils
curlWithGnuTls
# Graphics Drivers
mesa
vulkan-tools
# FileSystem Dependancies
gvfs
# C copmpiler
clang
# XDG Desktop Portal Etc
xdg-desktop-portal
xdg-desktop-portal-hyprland
# Other things (from gnome)
glib
gnutls
liblzf
appimage-run
libnotify
gsettings-desktop-schemas
];
# The comment
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -1,50 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
networking.hostName = "mobile02"; # Define your hostname.
# Opengl and vulkan
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-vaapi-driver
libva-vdpau-driver
];
};
services.displayManager.sddm = {
enable = true;
theme = "catppuccin-mocha-mauve";
package = pkgs.kdePackages.sddm;
};
environment.systemPackages = with pkgs; [
# Catppuccin sddm theme
(pkgs.catppuccin-sddm.override {
flavor = "mocha";
font = "Fira Mono Nerd Font";
fontSize = "11";
background = null;
})
];
# Local User
users.users.user01 = {
extraGroups = [ ];
packages = with pkgs; [
# Ricing
inputs.way-edges.packages.${stdenv.hostPlatform.system}.way-edges
# Terminal
light
# Apps
];
};
}

View File

@@ -1,162 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
networking.hostName = "HACKSTATION";
# Enable nix-ld to run unpatched binaries
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
stdenv.cc.cc
zlib
libusb1
];
# Add Samsung USB udev rules
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
'';
hardware.amdgpu.initrd.enable = true;
# Opengl and vulkan
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
libva-vdpau-driver
libvdpau-va-gl
];
enable32Bit = true;
};
hardware.amdgpu.opencl.enable = true;
boot.kernelParams = [
"amdgpu.ppfeaturemask=0xffffffff"
];
# Wake on Lan
networking.interfaces.enp5s0.wakeOnLan.enable = true;
networking.firewall.enable = false;
systemd.services.NetworkManager-wait-online.enable = false;
services.displayManager = {
autoLogin.enable = true;
autoLogin.user = "user01";
sddm = {
enable = true;
};
};
# Pipewire stuff
services.pipewire.extraConfig.pipewire."97-null-sink" = {
"context.objects" = [
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "Null-Sink";
"node.description" = "Null Sink";
"media.class" = "Audio/Sink";
"audio.position" = "FL,FR";
};
}
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "Null-Source";
"node.description" = "Null Source";
"media.class" = "Audio/Source";
"audio.position" = "FL,FR";
};
}
];
};
services.pipewire.extraConfig.pipewire."98-virtual-mic" = {
"context.modules" = [
{
name = "libpipewire-module-loopback";
args = {
"audio.position" = "FL,FR";
"node.description" = "Mumble as Microphone";
"capture.props" = {
# Mumble's output node name.
"node.target" = "Mumble";
"node.passive" = true;
};
"playback.props" = {
"node.name" = "Virtual-Mumble-Microphone";
"media.class" = "Audio/Source";
};
};
}
];
};
# Mumble server
services.murmur = {
enable = true;
bandwidth = 540000;
bonjour = true;
password = "mumblepass";
autobanTime = 0;
};
# Local User
users.users.user01 = {
extraGroups = [
"adbusers"
"docker"
];
packages = with pkgs; [
bottles
mumble
ferdium
android-tools
anki
vesktop
wine64
delfin
docker
orca-slicer
exiftool
ffmpeg
];
};
environment.systemPackages = [
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.wrapped
];
programs.steam = {
enable = true;
package = pkgs.steam.override {
extraEnv = {
LD_AUDIT = "${
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
}/library-inject.so:${
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
}/SLSsteam.so";
};
};
};
services.wivrn = {
enable = true;
package = pkgs.unstable.wivrn;
openFirewall = true;
defaultRuntime = true;
};
virtualisation.docker = {
enable = true;
enableOnBoot = false;
};
}

531
flake.lock generated
View File

@@ -1,88 +1,15 @@
{
"nodes": {
"chataigne": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"path": "./modules/chataigne",
"type": "path"
},
"original": {
"path": "./modules/chataigne",
"type": "path"
},
"parent": []
},
"doot": {
"inputs": {
"doot-src": "doot-src",
"nixpkgs": "nixpkgs_2",
"utils": "utils"
},
"locked": {
"lastModified": 1767536004,
"narHash": "sha256-jvKYKYVUF+jQoWR5umYSaAk9IGFkV3j1n+tiOgupZjw=",
"owner": "voidarclabs",
"repo": "nixos.doot",
"rev": "78898e11478aad96df7d462d8d5deed99974be80",
"type": "github"
},
"original": {
"owner": "voidarclabs",
"repo": "nixos.doot",
"type": "github"
}
},
"doot-src": {
"flake": false,
"locked": {
"lastModified": 1760873580,
"narHash": "sha256-h7JNd6748vUpDw7wriMyN9jLV9m/BE2yan2VCQzar1Q=",
"owner": "pol-rivero",
"repo": "doot",
"rev": "05b1036d3457bbf49169ac161e7b62c8eb031684",
"type": "github"
},
"original": {
"owner": "pol-rivero",
"repo": "doot",
"type": "github"
}
},
"fenix": {
"inputs": {
"nixpkgs": [
"fsel",
"naersk",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1752475459,
"narHash": "sha256-z6QEu4ZFuHiqdOPbYss4/Q8B0BFhacR8ts6jO/F/aOU=",
"owner": "nix-community",
"repo": "fenix",
"rev": "bf0d6f70f4c9a9cf8845f992105652173f4b617f",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -91,123 +18,44 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"import-tree": {
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"lastModified": 1778781969,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"owner": "vic",
"repo": "import-tree",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fsel": {
"inputs": {
"flake-utils": "flake-utils",
"naersk": "naersk",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1773279064,
"narHash": "sha256-BLcSfp2aNm+0oDoHbvTufBRS2XwKqbIeUOXD8t58efE=",
"owner": "Mjoyufull",
"repo": "fsel",
"rev": "7b38c6223eed6e509f98e066ff89f481bd1930d7",
"type": "github"
},
"original": {
"owner": "Mjoyufull",
"repo": "fsel",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"otter-launcher",
"nixpkgs"
]
},
"locked": {
"lastModified": 1769638001,
"narHash": "sha256-hGwdJ/+oo+IRo2TiWV/V8BWWptQihcdFV/olTONaHqg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "bd9f031efc634be4b80c5090b9171cc3a9f8e49c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"mesa-davinci": {
"locked": {
"lastModified": 1754501210,
"narHash": "sha256-ahTHrGs72TLVcNUR2VHckEx+t6frke0e/Ptk6AaEINk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "599ddd2b79331c1e6153e1659bdaab65d62c4c82",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "599ddd2b79331c1e6153e1659bdaab65d62c4c82",
"repo": "nixpkgs",
"type": "github"
}
},
"naersk": {
"inputs": {
"fenix": "fenix",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1769799857,
"narHash": "sha256-88IFXZ7Sa1vxbz5pty0Io5qEaMQMMUPMonLa3Ls/ss4=",
"owner": "nix-community",
"repo": "naersk",
"rev": "9d4ed44d8b8cecdceb1d6fd76e74123d90ae6339",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"owner": "vic",
"repo": "import-tree",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1773222311,
"narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
"lastModified": 1782847225,
"narHash": "sha256-JC9PjqKYG9ve5U8aDOLQipp3+KLANBHUvGdLZlxzdKI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0590cd39f728e129122770c029970378a79d076a",
"rev": "95ca1e203c0750115fd4a6f17d5a245dfe6b1edd",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github"
},
"original": {
@@ -216,45 +64,13 @@
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1761597516,
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1767379071,
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1752077645,
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "be9e214982e20b8310878ac2baa063a961c1bdf6",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github"
},
"original": {
@@ -264,308 +80,29 @@
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1771848320,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1773222311,
"narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0590cd39f728e129122770c029970378a79d076a",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1771848320,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1756787288,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim-wrapped": {
"inputs": {
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1772709070,
"narHash": "sha256-HXlGlbDVKMdw1ENgYu6gM3jyw+nPoam25SsgzRhtEG8=",
"rev": "68a7427e800f07d09a85a6014006d67c9350eaeb",
"revCount": 50,
"type": "git",
"url": "file:///home/user01/.dotfiles/.config/nvim"
},
"original": {
"type": "git",
"url": "file:///home/user01/.dotfiles/.config/nvim"
}
},
"otter-launcher": {
"inputs": {
"flake-parts": "flake-parts",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_7",
"systems": "systems_3"
},
"locked": {
"lastModified": 1771555910,
"narHash": "sha256-tTqkVD4c8JK5UILju9IF9cXa7eP1S+mehnjWmVHb3sA=",
"owner": "kuokuo123",
"repo": "otter-launcher",
"rev": "c07b437da5fd466d5eb511fc7a3a2b373c51747c",
"type": "github"
},
"original": {
"owner": "kuokuo123",
"repo": "otter-launcher",
"type": "github"
}
},
"root": {
"inputs": {
"chataigne": "chataigne",
"doot": "doot",
"fsel": "fsel",
"mesa-davinci": "mesa-davinci",
"nixpkgs": "nixpkgs_5",
"nvim-wrapped": "nvim-wrapped",
"otter-launcher": "otter-launcher",
"sls-steam": "sls-steam",
"tree-sitter": "tree-sitter",
"way-edges": "way-edges"
"flake-parts": "flake-parts",
"import-tree": "import-tree",
"nixpkgs": "nixpkgs",
"wrappers": "wrappers"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1752428706,
"narHash": "sha256-EJcdxw3aXfP8Ex1Nm3s0awyH9egQvB2Gu+QEnJn2Sfg=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "591e3b7624be97e4443ea7b5542c191311aa141d",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-overlay": {
"wrappers": {
"inputs": {
"nixpkgs": [
"way-edges",
"nixpkgs"
]
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1761878277,
"narHash": "sha256-6fCtyVdTzoQejwoextAu7dCLoy5fyD3WVh+Qm7t2Nhg=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6604534e44090c917db714faa58d47861657690c",
"lastModified": 1782135443,
"narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=",
"owner": "BirdeeHub",
"repo": "nix-wrapper-modules",
"rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sls-steam": {
"inputs": {
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1773488571,
"narHash": "sha256-7hoDb9qoiie1u1UGYJpKJx2Lnp0K1/cBIW3pJvFXsr8=",
"owner": "AceSLS",
"repo": "SLSsteam",
"rev": "b100dc73beafc1f4b95e73b32d2e7c513a9004ae",
"type": "github"
},
"original": {
"owner": "AceSLS",
"repo": "SLSsteam",
"type": "github"
}
},
"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"
}
},
"tree-sitter": {
"inputs": {
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1765318765,
"narHash": "sha256-RycoHWegJJ6HI+6WeUUphSyo3n0KnDziMNp88YwgVa4=",
"owner": "tree-sitter",
"repo": "tree-sitter",
"rev": "8b8199775f96ca8642cf7860da46100875b38453",
"type": "github"
},
"original": {
"owner": "tree-sitter",
"ref": "8b8199775f96ca8642cf7860da46100875b38453",
"repo": "tree-sitter",
"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"
}
},
"way-edges": {
"inputs": {
"nixpkgs": "nixpkgs_10",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1773029731,
"narHash": "sha256-hyJUYQb51mQ9tozxMkMUNiJaeErjo+2codRSquvKuNY=",
"owner": "way-edges",
"repo": "way-edges",
"rev": "dfcbee00286c57735db3b5786cfbc4f1d587503a",
"type": "github"
},
"original": {
"owner": "way-edges",
"repo": "way-edges",
"owner": "BirdeeHub",
"repo": "nix-wrapper-modules",
"type": "github"
}
}

View File

@@ -2,57 +2,13 @@
description = "Master flake for Voidarc nix config";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
# System
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
sls-steam = {
url = "github:AceSLS/SLSsteam";
};
chataigne.url = "./modules/chataigne";
nvim-wrapped.url = "git+file:///home/user01/.dotfiles/.config/nvim";
tree-sitter.url = "github:tree-sitter/tree-sitter?ref=8b8199775f96ca8642cf7860da46100875b38453";
doot.url = "github:voidarclabs/nixos.doot";
way-edges.url = "github:way-edges/way-edges";
otter-launcher.url = "github:kuokuo123/otter-launcher";
fsel.url = "github:Mjoyufull/fsel";
mesa-davinci.url = "github:nixos/nixpkgs?ref=599ddd2b79331c1e6153e1659bdaab65d62c4c82";
flake-parts.url = "github:hercules-ci/flake-parts";
import-tree.url = "github:vic/import-tree";
wrappers.url = "github:BirdeeHub/nix-wrapper-modules";
};
outputs =
{
self,
nixpkgs,
...
}@inputs:
let
system = "x86_64-linux";
hardwareConfig = import /etc/nixos/hardware-configuration.nix;
common = import ./configs/common.nix;
mkSystem =
extraModules:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
common
hardwareConfig
]
++ extraModules;
};
in
{
nixosConfigurations = {
mobile02 = mkSystem [ ./configs/configuration-laptop.nix ];
hackstation = mkSystem [
./configs/configuration-pc.nix
./modules/davinci/davinci.nix
./modules/i3/i3.nix
];
};
};
outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} (inputs.import-tree ./modules);
}

View File

@@ -1,27 +0,0 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1773222311,
"narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0590cd39f728e129122770c029970378a79d076a",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View File

@@ -1,82 +0,0 @@
{
description = "Local wrapper for Chataigne AppImage";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
};
outputs =
{ self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
# The libraries you requested
deps = with pkgs; [
curlFull
gnutls
libxrandr
alsa-lib
freetype
avahi
libglvnd
curl
SDL2
hidapi
libpulseaudio
lz4
openssl
libcap
libxcrypt
libgcrypt
libbsd
zlib
glib
];
# Wrap the local AppImage file
chataigne-bin = pkgs.appimageTools.wrapType2 {
pname = "chataigne";
version = "1.10.3";
# This points to the file in the same directory as flake.nix
src = ./Chataigne-linux-x64-1.10.3.AppImage;
extraPkgs = pkgs: deps;
};
# Create the Desktop Entry
chataigne-desktop = pkgs.makeDesktopItem {
name = "chataigne";
exec = "chataigne";
icon = "chataigne";
comment = "Modular machine for art and technology";
desktopName = "Chataigne";
categories = [
"AudioVideo"
"Development"
];
};
in
{
# packages.${system}.default = chataigne-bin;
devShells.${system}.default = pkgs.mkShell {
# Packages you want available in your shell
buildInputs = [
chataigne-bin
];
# Environmental variables or shell hooks
shellHook = ''
echo "something"
'';
};
# This allows you to run 'nix run' or install it via system config
packages.${system}.default = pkgs.symlinkJoin {
name = "chataigne";
paths = [
chataigne-bin
chataigne-desktop
];
};
};
}

View File

@@ -1,199 +0,0 @@
# Tested on Davinci 20.2.2. It works for loading videos and exporting in H264/5 & AV1
# Even if following this guide https://www.reddit.com/r/LinuxCrackSupport/comments/1nfqhld/davinci_resolve_studio_202_fix_linux_crack_guide/
# nixpkgs rev used for this tests: 4652ba995a945108fb891191c1e910b9a6ed9064
{ lib, inputs, ... }:
let
mesa-good-pkg = inputs.mesa-davinci.legacyPackages.x86_64-linux.mesa;
pkgs = import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/ec7c70d12ce2fc37cb92aff673dcdca89d187bae.tar.gz";
}) { config.allowUnfree = true; };
pkgs-pinned =
import
(builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/497ee3c70707fd71b45c37d48ae1d45e79751047.tar.gz";
})
{
config = {
allowUnfree = true;
};
};
ffmpeg-encoder-plugin = pkgs.stdenv.mkDerivation (finalAttrs: {
pname = "ffmpeg-encoder-plugin";
version = "1.2.1";
src = pkgs.fetchFromGitHub {
owner = "EdvinNilsson";
repo = "ffmpeg_encoder_plugin";
tag = "v${finalAttrs.version}";
hash = "sha256-F4Q8YCXD5UldTwLbWK4nHacNPQ/B+4yLL96sq7xZurM=";
};
nativeBuildInputs = with pkgs; [
cmake
ffmpeg-full
];
buildInputs = with pkgs; [ ffmpeg ];
installPhase = ''
runHook preInstall
mkdir -p $out
cp ffmpeg_encoder_plugin.dvcp $out/
runHook postInstall
'';
});
davinci-resolve-studio-cracked =
let
davinci-patched = pkgs-pinned.davinci-resolve-studio.davinci.overrideAttrs (old: {
# script based on https://www.reddit.com/r/LinuxCrackSupport/comments/1nfqhld/davinci_resolve_studio_202_fix_linux_crack_guide/
#
# Additionally, it will install ffmpeg_encoder_plugin to enable H264/5 & AV1 exports:
# https://github.com/EdvinNilsson/ffmpeg_encoder_plugin
#
# Note: $out IS /opt/resolve
postInstall = ''
${old.postInstall or ""}
${lib.getExe pkgs.perl} -pi -e 's/\x74\x11\xe8\x21\x23\x00\x00/\xeb\x11\xe8\x21\x23\x00\x00/g' $out/bin/resolve
${lib.getExe pkgs.perl} -pi -e 's/\x03\x00\x89\x45\xFC\x83\x7D\xFC\x00\x74\x11\x48\x8B\x45\xC8\x8B/\x03\x00\x89\x45\xFC\x83\x7D\xFC\x00\xEB\x11\x48\x8B\x45\xC8\x8B/' $out/bin/resolve
${lib.getExe pkgs.perl} -pi -e 's/\x74\x11\x48\x8B\x45\xC8\x8B\x55\xFC\x89\x50\x58\xB8\x00\x00\x00/\xEB\x11\x48\x8B\x45\xC8\x8B\x55\xFC\x89\x50\x58\xB8\x00\x00\x00/' $out/bin/resolve
${lib.getExe pkgs.perl} -pi -e 's/\x41\xb6\x01\x84\xc0\x0f\x84\xb0\x00\x00\x00\x48\x85\xdb\x74\x08\x45\x31\xf6\xe9\xa3\x00\x00\x00/\x41\xb6\x00\x84\xc0\x0f\x84\xb0\x00\x00\x00\x48\x85\xdb\x74\x08\x45\x31\xf6\xe9\xa3\x00\x00\x00/' $out/bin/resolve
touch $out/.license/blackmagic.lic
echo -e "LICENSE blackmagic davinciresolvestudio 999999 permanent uncounted\n hostid=ANY issuer=CGP customer=CGP issued=28-dec-2023\n akey=0000-0000-0000-0000 _ck=00 sig=\"00\"" > $out/.license/blackmagic.lic
mkdir -p $out/IOPlugins/ffmpeg_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64/
cp ${ffmpeg-encoder-plugin}/ffmpeg_encoder_plugin.dvcp $out/IOPlugins/ffmpeg_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64/
'';
});
in
# the following was copied from davinci's derivation from nixpkgs.
# if davinci updates, this should be updated too
# but remember to replace "davinci" with "davinci-patched"
pkgs.buildFHSEnv {
inherit (davinci-patched) pname version;
targetPkgs =
pkgs:
with pkgs;
[
alsa-lib
aprutil
bzip2
dbus
expat
fontconfig
freetype
glib
libGL
libGLU
libarchive
libcap
librsvg
libtool
libuuid
libxcrypt # provides libcrypt.so.1
libxkbcommon
nspr
ocl-icd
opencl-headers
python3
python3.pkgs.numpy
udev
xdg-utils # xdg-open needed to open URLs
libICE
libSM
libX11
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrandr
libXrender
libXt
libXtst
libXxf86vm
libxcb
xcbutil
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
xcbutilwm
xkeyboardconfig
zlib
ocl-icd
rocmPackages.clr.icd
libGL
libGLU
]
++ [
mesa-good-pkg
davinci-patched
];
extraPreBwrapCmds = ''
mkdir -p ~/.local/share/DaVinciResolve/Extras || exit 1
'';
extraBwrapArgs = [
''--bind "$HOME"/.local/share/DaVinciResolve/Extras ${davinci-patched}/Extras''
];
runScript = "${lib.getExe pkgs.bash} ${pkgs.writeText "davinci-wrapper" ''
export QT_XKB_CONFIG_ROOT="${pkgs.xkeyboard_config}/share/X11/xkb"
export QT_PLUGIN_PATH="${davinci-patched}/libs/plugins:$QT_PLUGIN_PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib32:${davinci-patched}/libs
# Force Resolve to use X11 (via XWayland) to avoid Aquamarine/Hyprland conflicts
export QT_QPA_PLATFORM=xcb
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${davinci-patched}/libs
# Prevent Resolve from trying to talk to the Wayland socket directly
unset WAYLAND_DISPLAY
${davinci-patched}/bin/resolve
''}";
extraInstallCommands = ''
mkdir -p $out/share/applications $out/share/icons/hicolor/128x128/apps
ln -s ${davinci-patched}/share/applications/*.desktop $out/share/applications/
ln -s ${davinci-patched}/graphics/DV_Resolve.png $out/share/icons/hicolor/128x128/apps/davinci-resolve-studio.png
'';
passthru = {
inherit davinci-patched;
updateScript = lib.getExe (
pkgs.writeShellApplication {
name = "update-davinci-resolve";
runtimeInputs = [
pkgs.curl
pkgs.jq
pkgs.common-updater-scripts
];
text = ''
set -o errexit
drv=pkgs/by-name/da/davinci-resolve/package.nix
currentVersion=${lib.escapeShellArg davinci-patched.version}
downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src
# Since the standard and studio both use the same version we need to reset it before updating studio
sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv"
latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src
'';
}
);
};
};
in
{
environment.systemPackages = [ davinci-resolve-studio-cracked ];
}

View File

@@ -0,0 +1,55 @@
{
self,
inputs,
...
}: {
flake.nixosModules.kitty = {
pkgs,
lib,
...
}: {
programs.kitty = {
enable = true;
package = self.packages.${pkgs.stdenv.hostPlatform.system}.kitty;
};
};
perSystem = {
pkgs,
lib,
self',
...
}: {
packages.kitty = let
myFont = pkgs.nerd-fonts.fira-mono; # or any font-providing package
fontsConf = pkgs.makeFontsConf {
fontDirectories = [myFont];
};
in
inputs.wrappers.wrappers.kitty.wrap {
inherit pkgs;
environment = {
"FONTCONFIG_FILE" = "${fontsConf}";
};
font = {
name = "FiraMono Nerd Font";
size = 11;
};
settings = {
font_size = 11;
window_padding_width = 10;
background_opacity = 0.50;
confirm_os_window_close = 0;
enable_audio_bell = false;
cursor_trail = 1;
cursor_trail_start_threshold = 1;
cursor_trail_color = "#cba6f7";
cursor_shape = "beam";
allow_remote_control = true;
};
keybindings = {
"ctrl+backspace" = "send_text all \\x17";
};
themeFile = "Catppuccin-Mocha";
};
};
}

View File

@@ -0,0 +1,100 @@
console_title_template = '{{ .Shell }} in {{ .Folder }}'
version = 3
final_space = true
[secondary_prompt]
template = ' '
foreground = 'magenta'
background = 'transparent'
[transient_prompt]
template = ' '
background = 'transparent'
foreground_templates = ['{{if gt .Code 0}}red{{end}}', '{{if eq .Code 0}}magenta{{end}}']
[[blocks]]
type = 'prompt'
alignment = 'left'
newline = true
[[blocks.segments]]
type = 'text'
style = 'plain'
template = '''
{{- if .Env.DEVSHELL_NAME -}}
{{- $parts := split "|" .Env.DEVSHELL_NAME -}}
{{- range $part := $parts -}}
{{- if $part -}}
{{- $sub := split "/" $part -}}
{{- if eq (len $sub) 2 -}}
<{{ index $sub "_1" }}>{{ index $sub "_0" }}</> <#7f849c>| </>
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
'''
[[blocks.segments]] # Python venv
type = 'text'
style = 'plain'
template = '{{ if .Env.VIRTUAL_ENV }}<yellow>🐍 venv</> <#7f849c>|</> {{ end }}'
[[blocks.segments]] # Nix shell indicator
type = 'text'
style = 'plain'
template = '{{ if and .Env.IN_NIX_SHELL (not .Env.DEVSHELL_NAME) }}<blue> nsh</> <#7f849c>|</> {{ end }}'
[[blocks.segments]]
template = '{{ .Path }}'
foreground = 'blue'
background = 'transparent'
type = 'path'
style = 'plain'
[blocks.segments.properties]
cache_duration = 'none'
style = 'full'
[[blocks.segments]]
template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}<yellow> *</>{{ end }} <cyan>{{ if gt .Behind 0 }}󰁅{{ end }}{{ if gt .Ahead 0 }}{{ end }}</>'
foreground = 'green'
background = 'transparent'
type = 'git'
style = 'plain'
[blocks.segments.properties]
branch_icon = ''
cache_duration = 'none'
commit_icon = '@'
fetch_status = true
[[blocks]]
type = 'rprompt'
overflow = 'hidden'
[[blocks.segments]]
template = '{{ .FormattedMs }}'
foreground = 'yellow'
background = 'transparent'
type = 'executiontime'
style = 'plain'
[blocks.segments.properties]
cache_duration = 'none'
threshold = 5000
[[blocks]]
type = 'prompt'
alignment = 'left'
newline = true
[[blocks.segments]]
template = ''
background = 'transparent'
type = 'text'
style = 'plain'
foreground_templates = ['{{if gt .Code 0}}red{{end}}', '{{if eq .Code 0}}magenta{{end}}']
[blocks.segments.properties]
cache_duration = 'none'

View File

@@ -0,0 +1,53 @@
{
self,
inputs,
...
}: {
flake.nixosModules.zsh = {
pkgs,
lib,
...
}: {
programs.zsh = {
enable = true;
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myZsh;
};
};
perSystem = {
pkgs,
lib,
self',
...
}: {
packages = {
myZsh = inputs.wrappers.wrappers.zsh.wrap {
inherit pkgs;
zshAliases = {
ls = lib.getExe pkgs.lsd;
cat = lib.getExe pkgs.bat;
lg = lib.getExe pkgs.lazygit;
man = "man -P \"${lib.getExe pkgs.bat} -p\"";
nsh = "nix-shell -p";
};
zshrc.content = ''
export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
source <(${pkgs.carapace}/bin/carapace _carapace)
setopt NO_CASE_GLOB
zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
export EDITOR=nvim
eval "$(${pkgs.devenv}/bin/devenv hook zsh)"
eval "$(${self.packages.${pkgs.host.stdenv.hostPlatform.system}.ohMyPosh}/bin/oh-my-posh init zsh)"
${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right | source /dev/stdin
'';
};
ohMyPosh = inputs.wrappers.wrappers.oh-my-posh.wrap {
inherit pkgs;
configFile = ./config.toml;
};
};
};
}

View File

@@ -0,0 +1,12 @@
{
self,
inputs,
...
}: {
flake.nixosConfigurations.HACKSTATION = inputs.nixpkgs.lib.nixosSystem {
modules = with self.nixosModules; [
core
hackstationConfiguration
];
};
}

View File

@@ -0,0 +1,9 @@
{
self,
inputs,
...
}: {
flake.nixosModules.hackstationConfiguration = {pkgs, ...}: {
networking.hostName = "HACKSTATION";
};
}

View File

@@ -1,28 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
services.libinput.enable = true;
services.displayManager.defaultSession = "hyprland";
services.xserver = {
enable = true;
desktopManager = {
xterm.enable = false;
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
dmenu # application launcher most people use
i3status # gives you the default i3 status bar
xorg.xinit
];
};
};
}

10
modules/parts.nix Normal file
View File

@@ -0,0 +1,10 @@
{
config = {
systems = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
];
};
}

23
modules/system/core.nix Normal file
View File

@@ -0,0 +1,23 @@
{
self,
inputs,
...
}: {
flake.nixosModules.core = {
pkgs,
lib,
...
}: let
modules = with self.nixosModules; [
userConfiguration
];
in {
imports =
[
/etc/nixos/hardware-configuration.nix
]
++ modules;
programs.zsh.enable = true;
};
}

View File

@@ -0,0 +1,22 @@
{
self,
inputs,
...
}: {
flake.nixosModules.userConfiguration = {
pkgs,
lib,
...
}: {
users.users.user01 = {
isNormalUser = true;
initialPassword = "password";
shell = pkgs.zsh;
description = "user01";
extraGroups = [
"root"
"wheel"
];
};
};
}