Compare commits

..

2 Commits

Author SHA1 Message Date
doloro d10b195c7e meow 2026-04-30 11:43:18 +01:00
doloro 119148c764 swapped out flake 2026-04-30 11:35:18 +01:00
23 changed files with 834 additions and 1309 deletions
+8 -27
View File
@@ -4,7 +4,8 @@
modules,
inputs,
...
}: {
}:
{
den.aspects.doloro-desktop = {
includes = [
<den/primary-user>
@@ -33,28 +34,19 @@
modules.easyeffects
modules.lavd
modules.ai
modules.omp
modules.podman
<modules/ai/ollama-cuda>
];
nixos = {
config,
pkgs,
...
}: {
nixos =
{ config, pkgs, ... }:
{
users.users.doloro = {
shell = pkgs.fish;
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
extraGroups = ["libvirtd"];
};
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
};
homeManager = {
home,
pkgs,
...
}: {
homeManager =
{ home, pkgs, ... }:
{
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
@@ -81,17 +73,6 @@
deadlock-mod-manager
gamescope
android-studio
blender
];
programs.lutris.enable = true;
nixpkgs.overlays = [
# Skipping tests while upstream sorts it out, revert once
# Hydra consistently builds openldap green.
(final: prev: {
openldap = prev.openldap.overrideAttrs (_: {
doCheck = false;
});
})
];
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true;
+7 -9
View File
@@ -6,16 +6,15 @@
__findFile,
lib,
...
}: {
}:
{
den.aspects.desktop = {
includes = [
modules.nix
];
nixos = {
pkgs,
config,
...
}: {
nixos =
{ pkgs, config, ... }:
{
boot.loader.grub.enable = true;
boot.loader.grub.device = "nodev";
boot.loader.grub.devices = [
@@ -63,6 +62,7 @@
services.gnome.gnome-keyring.enable = true;
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
@@ -92,9 +92,7 @@
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
boot.binfmt.emulatedSystems = [
"aarch64-linux"
];
};
};
}
@@ -21,7 +21,6 @@
modules.stylix
modules.quickshell
modules.lavd
modules.omp
# modules.podman
# modules.openvivo
];
+3 -3
View File
@@ -171,12 +171,12 @@
# "mem_sleep_default=deep"
# "i915.fastboot=1"
# "i915.modeset=1"
"ahci.mobile_lpm_policy=1"
# "ahci.mobile_lpm_policy=1"
# "intel_idle.max_cstate=10"
"processor.max_cstate=10"
"pci=noaer"
"quiet"
"splash"
# "quiet"
# "splash"
# "idle=halt"
];
boot.binfmt.emulatedSystems = [
-34
View File
@@ -1,34 +0,0 @@
{
den,
modules,
__findFile,
...
}: {
den.aspects.doloro-wsl = {
includes = [
<den/primary-user>
den.aspects.doloro-shared
modules.fish
modules.tmux
modules.nix
modules.omp
modules.hyfetch
modules.git
];
nixos = {
config,
pkgs,
...
}: {
users.users.doloro = {
isNormalUser = true;
shell = pkgs.fish;
uid = 1000;
# hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
};
};
homeManager = {...}: {
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{
den,
modules,
...
}: {
flake-file.inputs = {
};
den.aspects.wsl = {
includes = [
modules.wsl
modules.tmux
modules.nix
modules.omp
modules.hyfetch
modules.git
];
nixos = {lib, ...}: {
wsl.enable = true;
wsl.defaultUser = "doloro";
};
};
}
+2 -2
View File
@@ -3,14 +3,14 @@
__findFile,
modules,
...
}: {
}:
{
den.aspects.rpi5 = {
includes = [
<modules/raspberry-pi/5>
# <modules/services/traefik>
<modules/services/caddy>
<modules/services/home-assistant>
<modules/services/docker-registry>
<modules/services/ddns>
];
nixos = {
+3 -10
View File
@@ -3,7 +3,8 @@
__findFile,
lib,
...
}: {
}:
{
# Homes
den.homes.x86_64-linux.doloro-desktop = {
aspect = "doloro-desktop";
@@ -13,9 +14,6 @@
den.homes.aarch64-linux.doloro-laptop = {
userName = "doloro";
};
den.homes.aarch64-linux.doloro-wsl = {
userName = "doloro";
};
# Machines
den.hosts.x86_64-linux.desktop = {
users.doloro = {
@@ -30,12 +28,6 @@
home-manager.enable = true;
};
};
den.hosts.aarch64-linux.wsl = {
users.doloro = {
aspect = "doloro-wsl";
home-manager.enable = true;
};
};
den.schema.user.classes = lib.mkDefault [ "homeManager" ];
@@ -44,4 +36,5 @@
type = lib.types.attrs;
description = "Home Manager configurations for users.";
};
}
+1 -4
View File
@@ -13,10 +13,7 @@
homeManager =
{ pkgs, ... }:
{
home.packages = [
pkgs.opencode
pkgs.claude-code
];
home.packages = [ pkgs.opencode ];
};
};
}
-30
View File
@@ -1,30 +0,0 @@
{
modules,
den,
inputs,
...
}: {
flake-file.inputs = {
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=main";
};
modules.omp = {
homeManager = {
imports = [inputs.omp-nix.homeManagerModules.omp];
oh-my-pi = {
enable = false;
settings = {
theme = "dark-gruvbox";
symbolPreset = "nerd";
defaultThinkingLevel = "medium";
ask.timeout = 0;
};
skills = {
pdf = "github:anthropics/skills/skills/pdf@b0cbd3df1533b396d281a6886d5132f623393a9c";
frontend-design = "github:anthropics/skills/skills/frontend-design@b0cbd3df1533b396d281a6886d5132f623393a9c";
};
};
};
};
}
-3
View File
@@ -18,9 +18,6 @@
set -g theme_display_user yes
set -g fish_color_autosuggestion 6F6578
alias nik 'nix'
if not set -q TMUX
set -gx COLORTERM truecolor
end
'';
# alias nos 'sudo echo; sudo nixos-rebuild switch --flake .#${aspect-name} --log-format internal-json -v &| nom --json'
# alias hms 'home-manager switch --flake .#${aspect-name} --log-format internal-json -v &| nom --json'
+17 -17
View File
@@ -1,15 +1,14 @@
{modules, ...}: {
{ modules, ... }:
{
modules.hyprland = {
provides = {
doloro-settings = {
includes = [
modules.dunst
];
homeManager = {
pkgs,
home,
...
}: {
homeManager =
{ pkgs, home, ... }:
{
home.packages = [
pkgs.hyprcursor
pkgs.wlogout
@@ -96,7 +95,7 @@
];
};
dwindle = {
# pseudotile = true;
pseudotile = true;
preserve_split = true;
};
# master = {
@@ -106,11 +105,10 @@
force_default_wallpaper = -1;
disable_hyprland_logo = false;
enable_anr_dialog = false;
# vfr = true;
vfr = true;
};
"$mainMod" = "SUPER";
bind =
[
bind = [
(
let
config = pkgs.writeTextFile {
@@ -131,14 +129,15 @@
script = pkgs.writeShellScript "mreow" ''
exec $(tofi-drun -c ${config})
'';
in "$mainMod, R, exec, ${script}"
in
"$mainMod, R, exec, ${script}"
)
"$mainMod, C, killactive"
"$mainMod, M, exec, uwsm stop"
"$mainMod, Q, exec, kitty"
"$mainMod, V, togglefloating,"
# "$mainMod, P, pseudo, # dwindle"
# "$mainMod, J, togglesplit, # dwindle"
"$mainMod, P, pseudo, # dwindle"
"$mainMod, J, togglesplit, # dwindle"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
@@ -163,14 +162,15 @@
]
++ (builtins.concatLists (
builtins.genList (
i: let
i:
let
ws = i + 1;
in [
in
[
"$mainMod, ${toString ws}, workspace, ${toString ws}"
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
]
)
9
) 9
));
bindm = [
"$mainMod, mouse:272, movewindow"
+5 -4
View File
@@ -1,6 +1,9 @@
{...}: {
{ ... }:
{
modules.nix = {
nixos = {...}: {
nixos =
{ ... }:
{
nixpkgs.config.allowUnfree = true;
nix.settings = {
substituters = [
@@ -11,7 +14,6 @@
"https://cache.nixos-cuda.org"
"https://niri.cachix.org"
"https://attic.xuyh0120.win/lantian"
"https://nixos-raspberrypi.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
@@ -20,7 +22,6 @@
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
];
experimental-features = [
"flakes"
+19 -114
View File
@@ -4,7 +4,8 @@
lib,
inputs,
...
}: {
}:
{
# Its in its own folder for future modulizaion efforts
flake-file.inputs = {
nixvim = {
@@ -14,20 +15,13 @@
};
modules = {
nixvim = {
nixos = {home-manager, ...}: {
nixos =
{ home-manager, ... }:
{
};
homeManager = {pkgs, ...}: let
tiny-code-action = pkgs.vimUtils.buildVimPlugin {
name = "tiny-code-action.nvim";
src = pkgs.fetchFromGitHub {
owner = "rachartier";
repo = "tiny-code-action.nvim";
rev = "main";
hash = "sha256-UF9zeO5Uujdt2MEwy2d2Lhk6JRnEN4vrEvYslv0/zaA";
};
nvimSkipModules = ["tiny-code-action.previewers.snacks"];
};
in {
homeManager =
{ pkgs, ... }:
{
imports = [
inputs.nixvim.homeModules.nixvim
];
@@ -42,13 +36,13 @@
colorschemes.gruvbox-material.enable = true;
extraPackages = with pkgs; [
# formatters
alejandra
nixfmt
rustfmt
# misc
ripgrep
# misc
nixd
tree-sitter
rust-analyzer
];
performance.byteCompileLua = {
enable = true;
@@ -62,12 +56,11 @@
lsp-status.enable = true;
transparent.enable = true;
which-key.enable = true;
snacks.enable = true;
conform-nvim = {
enable = true;
settings = {
formatters_by_ft = {
nix = ["alejandra"];
nix = [ "nixfmt" ];
rust = [ "rustfmt" ];
"_" = [
"squeeze_blanks"
@@ -106,15 +99,6 @@
};
nixd = {
enable = true;
settings = {
nixd = {
nixpkgs.expr = "import (builtins.getFlake \"${toString /home/doloro/dotfiles}\").inputs.nixpkgs { }";
options = {
nixos.expr = "(builtins.getFlake \"${toString /home/doloro/dotfiles}\").nixosConfigurations.desktop.options";
home_manager.expr = "(builtins.getFlake \"${toString /home/doloro/dotfiles}\").homeConfigurations.doloro-desktop.options";
};
};
};
};
astro = {
enable = true;
@@ -154,7 +138,7 @@
"fileformat"
"filetype"
];
lualine_y = ["progress"];
lualine_y = [ "lsp_status" ];
lualine_z = [ "location" ];
};
inactive_sections = {
@@ -187,30 +171,15 @@
};
};
};
lsp-lines.enable = true;
diaglist = {
enable = true;
settings = {
debug = false;
};
};
trouble.enable = true;
cmp = {
enable = true;
autoEnableSources = true;
settings = {
sources = [
{
name = "nvim_lsp";
priority = 100;
}
{
name = "buffer";
priority = 50;
}
{
name = "path";
priority = 40;
}
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
mapping = {
"<C-Space>" = "cmp.mapping.complete()";
@@ -218,24 +187,13 @@
"<C-e>" = "cmp.mapping.close()";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-Tab>" = "cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, {'i', 's'})";
"<Tab>" = "cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, {'i', 's'})";
};
window = {
completion = {
border = "rounded";
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None";
};
documentation = {
border = "rounded";
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu";
};
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
};
};
};
lspkind.enable = true;
tiny-inline-diagnostic.enable = true;
# tiny-code-action.enable = true;
# persisted.enable = true;
auto-session = {
enable = false;
@@ -250,9 +208,6 @@
enable = true;
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
bash
css
html
javascript
json
lua
make
@@ -261,8 +216,6 @@
nix
regex
toml
tsx
typescript
vim
vimdoc
xml
@@ -271,7 +224,6 @@
];
settings = {
highlight.enable = true;
indent.enable = true;
};
};
};
@@ -281,9 +233,6 @@
vimPlugins.melange-nvim
vimPlugins.telescope-file-browser-nvim
vimPlugins.lsp-progress-nvim
vimPlugins.cmp-cmdline
vimPlugins.cmp-nvim-lsp-signature-help
tiny-code-action
];
opts = {
number = true;
@@ -295,42 +244,6 @@
globals = {
mapleader = " ";
};
extraConfigLua = ''
local cmp = require('cmp')
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources(
{ { name = 'path' } },
{ { name = 'cmdline' } }
),
window = {
completion = {
border = 'rounded',
},
},
})
cmp.setup.cmdline('/', {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
},
window = {
completion = {
border = 'rounded',
},
},
})
require('tiny-code-action').setup({
backend = 'vim',
picker = 'snacks',
resolve_timeout = 100,
notify = {
enabled = true,
on_empty = true,
},
})
'';
keymaps = [
{
action = "<cmd>Telescope persisted<cr>";
@@ -375,20 +288,12 @@
};
}
{
action = "<cmd>DiaglistToggle<cr>";
action = "<cmd>Trouble diagnostics toggle<cr>";
key = "<leader>fd";
options = {
silent = true;
};
}
{
action = "<cmd>lua require('tiny-code-action').code_action()<cr>";
key = "<leader>ca";
mode = ["n" "x"];
options = {
silent = true;
};
}
];
};
};
@@ -1 +1 @@
/run/user/1000/quickshell/vfs/ca6d8e2cdd46bffdf799708f31d409fa/.qmlls.ini
/run/user/1000/quickshell/vfs/6e389f6b800776b0595d9d90e42ebd04/.qmlls.ini
+16 -41
View File
@@ -4,61 +4,36 @@
modules,
inputs,
...
}: {
}:
{
flake-file.inputs = {
raspberry-pi-nix.url = "github:cmyk/raspberry-pi-nix";
nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
};
modules.raspberry-pi = {
provides = {
"5" = {
nixos = {pkgs, ...}: {
nixos =
{ pkgs, ... }:
let
rpi-pi = inputs.raspberry-pi-nix;
in
{
imports = [
# inputs.nixos-hardware.nixosModules.raspberry-pi-5
inputs.nixos-raspberrypi.lib.inject-overlays-global
inputs.nixos-raspberrypi.nixosModules.trusted-nix-caches
inputs.nixos-raspberrypi.lib.inject-overlays
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.base
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.page-size-16k
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.display-vc4
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.bluetooth
inputs.nixos-raspberrypi.nixosModules.sd-image
rpi-pi.nixosModules.raspberry-pi
rpi-pi.nixosModules.sd-image
];
environment.systemPackages = with pkgs; [
libraspberrypi
];
_module.args = {inherit (inputs) nixos-raspberrypi;};
sdImage.compressImage = false;
raspberry-pi-nix.board = "bcm2712"; # Rpi 5 - 64bit
# We need to rebuild kernel for 6.12
# raspberry-pi-nix.kernel-version = "v6_12_17";
raspberry-pi-nix.uboot.enable = false;
boot.loader.raspberry-pi.bootloader = "kernel";
# boot.initrd.systemd.tpm2.enable = false;
# boot.initrd.allowMissingModules = true;
boot.supportedFilesystems.zfs = false;
# hardware.enableRedistributableFirmware = true;
# fileSystems = {
# "/boot/firmware" = {
# device = "/dev/disk/by-uuid/2175-794E";
# fsType = "vfat";
# options = [
# "noatime"
# "noauto"
# "x-systemd.automount"
# "x-systemd.idle-timeout=1min"
# ];
# };
# "/" = {
# device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
# fsType = "ext4";
# options = ["noatime"];
# };
# };
hardware.enableRedistributableFirmware = true;
};
};
};
-49
View File
@@ -1,49 +0,0 @@
{
den,
__findFile,
modules,
...
}: {
# Basic traefik
modules.services.provides.docker-registry = {
nixos = {
config,
pkgs,
...
}: let
registryImg = pkgs.dockerTools.pullImage {
imageName = "registry";
imageDigest = "sha256:85347ed2ecde64161c7a4788a4d7d3dcc9d6f86f7be95834022e3c6a423a945a";
finalImageName = "registry";
finalImageTag = "3";
sha256 = "sha256-rLG0q/MVVz52veqZuZs5W0Qke6FugXkx7fMe3QnE3gU";
arch = "arm64";
};
in {
virtualisation.oci-containers.containers = {
docker-registry = {
image = "registry";
imageFile = registryImg;
volumes = [
"/data/dockerRegistry:/var/lib/registry"
"/run/dbus:/run/dbus:ro"
"/etc/localtime:/etc/localtime:ro"
];
ports = ["0.0.0.0:5000:5000"];
# networks = [ "meow" ];
};
};
networking.firewall = {
allowedTCPPorts = [
5000
];
allowedUDPPortRanges = [];
};
services.caddy = pkgs.lib.mkIf config.services.caddy.enable {
virtualHosts."dockerRegistry.h.doloro.co.uk".extraConfig = ''
reverse_proxy :5000
'';
};
};
};
}
+1 -1
View File
@@ -6,7 +6,7 @@
}:
{
flake-file.inputs = {
x1e-kernel.url = "git+https://git.scug.io/nikkuss/x1e-nixos.git";
x1e-kernel.url = "git+https://git.scug.io/doloro/x1e-nixos.git?ref=bump-7.1-rc1";
};
modules.surface-patches = {
nixos =
+7 -9
View File
@@ -1,10 +1,9 @@
{modules, ...}: {
{ modules, ... }:
{
modules.tmux = {
homeManager = {
home,
pkgs,
...
}: {
homeManager =
{ home, pkgs, ... }:
{
programs.tmux = {
enable = true;
plugins = with pkgs.tmuxPlugins; [
@@ -12,11 +11,10 @@
minimal-tmux-status
];
extraConfig = ''
set-option -g default-terminal "tmux-256color"
set -as terminal-features ",xterm-256color:RGB"
set-option -g default-terminal "xterm-256color"
set -a terminal-features "xterm-256color:RGB"
set -g status-bg black
set -g status-fg white
set -g mouse on
'';
};
};
-1
View File
@@ -7,7 +7,6 @@
users.users.${user.userName} = {
extraGroups = [
"wheel"
"libvirtd"
"networkmanager"
];
};
-15
View File
@@ -1,15 +0,0 @@
{
modules,
den,
inputs,
...
}: {
flake-file.inputs = {
nixos-wsl.url = "github:nix-community/NixOS-WSL";
};
modules.wsl = {
nixos = {
imports = [inputs.nixos-wsl.nixosModules.default];
};
};
}
Generated
+216 -380
View File
File diff suppressed because it is too large Load Diff
+2 -6
View File
@@ -30,13 +30,9 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main";
nixos-wsl.url = "github:nix-community/NixOS-WSL";
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
nixvim.url = "github:nix-community/nixvim";
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=main";
raspberry-pi-nix.url = "github:cmyk/raspberry-pi-nix";
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
@@ -46,7 +42,7 @@
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
x1e-kernel.url = "git+https://git.scug.io/nikkuss/x1e-nixos.git";
x1e-kernel.url = "git+https://git.scug.io/doloro/x1e-nixos.git?ref=bump-7.1-rc1";
zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";