Compare commits
30 Commits
6b8e08fb7a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
ca0486baff
|
|||
|
2b7d77972b
|
|||
|
0fb5245525
|
|||
|
8ec7b3429f
|
|||
|
d8f593c9f0
|
|||
|
2359a79c14
|
|||
|
5ba041b778
|
|||
|
d7eec2970b
|
|||
|
cf18e8c975
|
|||
|
0842e518cc
|
|||
|
6de7c0ca67
|
|||
|
acb6fb1677
|
|||
|
e45cc182ee
|
|||
|
86feb4e601
|
|||
|
ff1629ad1f
|
|||
|
b93c1ad6aa
|
|||
|
a9e3deea08
|
|||
|
e1b14b3e07
|
|||
|
2a8f29f35f
|
|||
|
b92586122e
|
|||
|
e72f3c8dd9
|
|||
|
3b0d0e45e3
|
|||
|
ffdf1c7e69
|
|||
|
02c8529c83
|
|||
|
d486fa170b
|
|||
|
7d3a5ba4fa
|
|||
|
6c609e2fa6
|
|||
|
140f47649c
|
|||
|
212af403dc
|
|||
|
1e8337e380
|
@@ -4,17 +4,21 @@
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
den.aspects.doloro-desktop = {
|
||||
includes = [
|
||||
<den/primary-user>
|
||||
den.aspects.doloro-shared
|
||||
modules.sops
|
||||
modules.flatpaks
|
||||
modules.hyprland
|
||||
modules.fish
|
||||
modules.tuigreet
|
||||
modules.kitty
|
||||
modules.nikpkgs
|
||||
modules.fonts
|
||||
modules.unity
|
||||
<modules/hyprland/doloro-settings>
|
||||
(modules.obs {
|
||||
audio = true;
|
||||
@@ -30,71 +34,94 @@
|
||||
modules.quickshell
|
||||
modules.nix-ld
|
||||
modules.spotify
|
||||
modules.easyeffects
|
||||
# modules.easyeffects
|
||||
modules.lavd
|
||||
modules.ai
|
||||
modules.omp
|
||||
# modules.omp
|
||||
modules.podman
|
||||
<modules/ai/ollama-cuda>
|
||||
];
|
||||
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,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
"HDMI-A-1, 1920x1080@60, 0x0, 1"
|
||||
"DP-3, 1920x1080@144, 1920x0, 1"
|
||||
];
|
||||
exec-once = [
|
||||
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
|
||||
];
|
||||
workspace = [
|
||||
"name:2, monitor:DP-3"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "gb";
|
||||
follow_mouse = 2;
|
||||
sensitivity = -0.5;
|
||||
nixos =
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
users.users.doloro = {
|
||||
shell = pkgs.fish;
|
||||
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
|
||||
extraGroups = [ "libvirtd" ];
|
||||
};
|
||||
virtualisation.libvirtd.enable = true;
|
||||
# virtualisation.waydroid.enable = true;
|
||||
# # Newer kernel versions may need
|
||||
# virtualisation.waydroid.package = pkgs.waydroid-nftables;
|
||||
programs.virt-manager.enable = true;
|
||||
};
|
||||
homeManager =
|
||||
{
|
||||
home,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
"HDMI-A-1, 1920x1080@60, 0x0, 1"
|
||||
"DP-2, 1920x1080@120, 1920x0, 1"
|
||||
];
|
||||
exec-once = [
|
||||
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
|
||||
];
|
||||
workspace = [
|
||||
"name:2, monitor:DP-3"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "gb";
|
||||
follow_mouse = 2;
|
||||
sensitivity = -0.5;
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
equibop
|
||||
telegram-desktop
|
||||
obsidian
|
||||
# pear-desktop
|
||||
prismlauncher
|
||||
# deadlock-mod-manager
|
||||
inputs.nik-pkgs.packages.x86_64-linux.grimorie
|
||||
gamescope
|
||||
android-studio
|
||||
blender
|
||||
bottles
|
||||
pi-coding-agent
|
||||
(pkgs.symlinkJoin {
|
||||
name = "orca-slicer";
|
||||
paths = [ pkgs.orca-slicer ];
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/orca-slicer \
|
||||
--prefix LC_ALL : C \
|
||||
--prefix MESA_LOADER_DRIVER_OVERRIDE : zink \
|
||||
--prefix WEBKIT_DISABLE_DMABUF_RENDERER : 1 \
|
||||
--prefix __EGL_VENDOR_LIBRARY_FILENAMES : ${pkgs.mesa}/share/glvnd/egl_vendor.d/50_mesa.json \
|
||||
--prefix GALLIUM_DRIVER : zink
|
||||
'';
|
||||
})
|
||||
];
|
||||
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;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
equibop
|
||||
telegram-desktop
|
||||
obsidian
|
||||
# pear-desktop
|
||||
prismlauncher
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,7 +13,11 @@
|
||||
modules.nix
|
||||
];
|
||||
nixos =
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "nodev";
|
||||
@@ -26,7 +30,7 @@
|
||||
boot.loader.grub.efiInstallAsRemovable = true;
|
||||
networking.hostName = "doloroo-main"; # Define your hostname.
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
boot.initrd.verbose = false;
|
||||
boot.kernelParams = [
|
||||
@@ -62,7 +66,6 @@
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
hardware.nvidia = {
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
|
||||
@@ -70,7 +73,7 @@
|
||||
# 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 = true;
|
||||
powerManagement.enable = false;
|
||||
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
@@ -83,7 +86,7 @@
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
open = true;
|
||||
open = false;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
@@ -92,7 +95,9 @@
|
||||
# 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"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
modules,
|
||||
__findFile,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
den.aspects.doloro-shared = {
|
||||
includes = [
|
||||
modules.nixvim
|
||||
@@ -14,23 +13,24 @@
|
||||
modules.hyfetch
|
||||
modules.ssh
|
||||
];
|
||||
homeManager =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
home = {
|
||||
username = "doloro";
|
||||
homeDirectory = "/home/doloro";
|
||||
packages = with pkgs; [
|
||||
wl-clipboard
|
||||
# home-manager
|
||||
btop
|
||||
];
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
nixos =
|
||||
{ lib, ... }:
|
||||
{
|
||||
homeManager = {
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home = {
|
||||
username = "doloro";
|
||||
homeDirectory = "/home/doloro";
|
||||
packages = with pkgs; [
|
||||
wl-clipboard
|
||||
# home-manager
|
||||
btop
|
||||
pavucontrol
|
||||
];
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
nixos = {lib, ...}: {
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
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 = {...}: {
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
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";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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 = {
|
||||
@@ -23,7 +23,7 @@
|
||||
443
|
||||
8080
|
||||
];
|
||||
allowedUDPPortRanges = [ ];
|
||||
allowedUDPPortRanges = [];
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
@@ -31,6 +31,10 @@
|
||||
|
||||
services.openssh.enable = true;
|
||||
nixpkgs.hostPlatform = "aarch64-linux";
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
__findFile,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
# Homes
|
||||
den.homes.x86_64-linux.doloro-desktop = {
|
||||
aspect = "doloro-desktop";
|
||||
@@ -14,6 +13,9 @@
|
||||
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 = {
|
||||
@@ -28,13 +30,18 @@
|
||||
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" ];
|
||||
den.schema.user.classes = lib.mkDefault ["homeManager"];
|
||||
|
||||
# Fixes 'The option `flake.homeConfigurations' is defined multiple times while it's expected to be unique.'
|
||||
flake.options.homeConfigurations = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
description = "Home Manager configurations for users.";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -14,9 +14,25 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.opencode
|
||||
pkgs.claude-code
|
||||
];
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
rust-analyzer
|
||||
typescript-language-server
|
||||
];
|
||||
context = ''
|
||||
Instructions:
|
||||
|
||||
- Do NOT preemptively load all references - use lazy loading based on actual need
|
||||
- When loaded, treat content as mandatory instructions that override defaults
|
||||
- Follow references recursively when needed
|
||||
'';
|
||||
settings = {
|
||||
"lsp" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,28 +3,15 @@
|
||||
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";
|
||||
};
|
||||
};
|
||||
imports = [ inputs.omp-nix.homeManagerModules.omp ];
|
||||
oh-my-pi.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
settings = {
|
||||
global = {
|
||||
font = "Noto Nerd Font 8";
|
||||
monitor = "DP-2";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
+14
-5
@@ -1,5 +1,12 @@
|
||||
{ modules, ... }:
|
||||
{
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
flake-file.inputs = {
|
||||
direnv-instant.url = "github:Mic92/direnv-instant";
|
||||
};
|
||||
modules.fish = {
|
||||
nixos = {
|
||||
programs.fish.enable = true;
|
||||
@@ -8,7 +15,10 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.shell.enableFishIntegration = true;
|
||||
home.packages = [ pkgs.nix-output-monitor ];
|
||||
home.packages = [
|
||||
pkgs.nix-output-monitor
|
||||
# pkgs.devenv
|
||||
];
|
||||
programs = {
|
||||
fish = {
|
||||
enable = true;
|
||||
@@ -18,12 +28,11 @@
|
||||
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'
|
||||
plugins = [
|
||||
{
|
||||
name = "bobthefish";
|
||||
@@ -45,7 +54,7 @@
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{ modules, inputs, ... }:
|
||||
{
|
||||
flake-file.inputs = {
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
};
|
||||
modules.flatpaks = {
|
||||
nixos = {
|
||||
imports = [
|
||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||
];
|
||||
services.flatpak = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
homeManager = {
|
||||
imports = [
|
||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||
];
|
||||
services.flatpak = {
|
||||
enable = true;
|
||||
packages = [
|
||||
{
|
||||
flatpakref = "https://dl.flathub.org/repo/appstream/org.vinegarhq.Sober.flatpakref";
|
||||
sha256 = "15ak2i5nk64wbmswqml2cqfgidczawqybmc7pmw94yp8wcd4yv6i";
|
||||
}
|
||||
];
|
||||
};
|
||||
services.flatpak.remotes = [
|
||||
{
|
||||
name = "flathub-beta";
|
||||
location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -11,14 +11,14 @@
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
# Ensure gamescope is inside the steam "fhs"
|
||||
package = pkgs.steam.override {
|
||||
extraLibraries = pkgs: [ pkgs.xorg.libxcb ];
|
||||
extraLibraries = pkgs: [ pkgs.libxcb ];
|
||||
extraPkgs =
|
||||
pkgs: with pkgs; [
|
||||
attr
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
libxcursor
|
||||
libxi
|
||||
libxinerama
|
||||
libxscrnsaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
|
||||
@@ -1,116 +1,134 @@
|
||||
{modules, ...}: {
|
||||
{ modules, ... }:
|
||||
{
|
||||
modules.hyprland = {
|
||||
provides = {
|
||||
doloro-settings = {
|
||||
includes = [
|
||||
modules.dunst
|
||||
];
|
||||
homeManager = {
|
||||
pkgs,
|
||||
home,
|
||||
...
|
||||
}: {
|
||||
home.packages = [
|
||||
pkgs.hyprcursor
|
||||
pkgs.wlogout
|
||||
pkgs.tofi
|
||||
pkgs.killall
|
||||
pkgs.grim
|
||||
pkgs.slurp
|
||||
pkgs.wayclip
|
||||
];
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
name = "rose-pine-hyprcursor";
|
||||
package = pkgs.rose-pine-hyprcursor;
|
||||
hyprcursor.enable = true;
|
||||
};
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"XCURSOR_THEME,BreezeX-RosePine-Linux"
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
|
||||
homeManager =
|
||||
{
|
||||
pkgs,
|
||||
home,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.hyprcursor
|
||||
pkgs.wlogout
|
||||
pkgs.tofi
|
||||
pkgs.killall
|
||||
pkgs.grim
|
||||
pkgs.slurp
|
||||
pkgs.wayclip
|
||||
];
|
||||
general = {
|
||||
gaps_in = 1;
|
||||
gaps_out = 1;
|
||||
border_size = 1;
|
||||
# "col.active_border" =
|
||||
# "rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})";
|
||||
# "col.inactive_border" =
|
||||
# "rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})";
|
||||
resize_on_border = false;
|
||||
allow_tearing = true;
|
||||
layout = "dwindle";
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
name = "rose-pine-hyprcursor";
|
||||
package = pkgs.rose-pine-hyprcursor;
|
||||
hyprcursor.enable = true;
|
||||
};
|
||||
decoration = {
|
||||
rounding = 4;
|
||||
rounding_power = 1;
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
shadow = {
|
||||
enabled = false;
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
splash = true;
|
||||
wallpaper = [
|
||||
{
|
||||
monitor = "HDMI-A-1";
|
||||
path = "/home/doloro/Wallpaper.jpg";
|
||||
}
|
||||
{
|
||||
monitor = "DP-2";
|
||||
path = "/home/doloro/Wallpaper.jpg";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"XCURSOR_THEME,BreezeX-RosePine-Linux"
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
|
||||
];
|
||||
general = {
|
||||
gaps_in = 1;
|
||||
gaps_out = 1;
|
||||
border_size = 1;
|
||||
# "col.active_border" =
|
||||
# "rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})";
|
||||
# "col.inactive_border" =
|
||||
# "rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})";
|
||||
resize_on_border = false;
|
||||
allow_tearing = true;
|
||||
layout = "dwindle";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 4;
|
||||
rounding_power = 1;
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
blur = {
|
||||
shadow = {
|
||||
enabled = false;
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
passes = 1;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = false;
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = false;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
passes = 1;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = false;
|
||||
bezier = [
|
||||
"easeOutQuint,0.23,1,0.32,1"
|
||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||
"linear,0,0,1,1"
|
||||
"almostLinear,0.5,0.5,0.75,1.0"
|
||||
"quick,0.15,0,0.1,1"
|
||||
];
|
||||
animation = [
|
||||
"global, 1, 10, default"
|
||||
"border, 1, 5.39, easeOutQuint"
|
||||
"windows, 1, 2.79, easeOutQuint"
|
||||
"windowsIn, 1, 1, easeOutQuint, popin 87%"
|
||||
"windowsOut, 1, 1, linear, popin 87%"
|
||||
"windowsMove, 1, 1, easeInOutCubic"
|
||||
"fadeIn, 1, 0.5, almostLinear"
|
||||
"fadeOut, 1, 0.5, almostLinear"
|
||||
"fade, 1, 1, quick"
|
||||
"layers, 1, 3.81, easeOutQuint"
|
||||
"layersIn, 1, 4, easeOutQuint, fade"
|
||||
"layersOut, 1, 1.5, linear, fade"
|
||||
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||
"workspaces, 1, 1, almostLinear, slide"
|
||||
"workspacesIn, 1, 1, easeInOutCubic, slide"
|
||||
"workspacesOut, 1, 1, easeInOutCubic, slide"
|
||||
"zoomFactor, 1, 7, quick"
|
||||
];
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"easeOutQuint,0.23,1,0.32,1"
|
||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||
"linear,0,0,1,1"
|
||||
"almostLinear,0.5,0.5,0.75,1.0"
|
||||
"quick,0.15,0,0.1,1"
|
||||
];
|
||||
animation = [
|
||||
"global, 1, 10, default"
|
||||
"border, 1, 5.39, easeOutQuint"
|
||||
"windows, 1, 2.79, easeOutQuint"
|
||||
"windowsIn, 1, 1, easeOutQuint, popin 87%"
|
||||
"windowsOut, 1, 1, linear, popin 87%"
|
||||
"windowsMove, 1, 1, easeInOutCubic"
|
||||
"fadeIn, 1, 0.5, almostLinear"
|
||||
"fadeOut, 1, 0.5, almostLinear"
|
||||
"fade, 1, 1, quick"
|
||||
"layers, 1, 3.81, easeOutQuint"
|
||||
"layersIn, 1, 4, easeOutQuint, fade"
|
||||
"layersOut, 1, 1.5, linear, fade"
|
||||
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||
"workspaces, 1, 1, almostLinear, slide"
|
||||
"workspacesIn, 1, 1, easeInOutCubic, slide"
|
||||
"workspacesOut, 1, 1, easeInOutCubic, slide"
|
||||
"zoomFactor, 1, 7, quick"
|
||||
];
|
||||
};
|
||||
dwindle = {
|
||||
# pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
# master = {
|
||||
# new_status = master;
|
||||
# };
|
||||
misc = {
|
||||
force_default_wallpaper = -1;
|
||||
disable_hyprland_logo = false;
|
||||
enable_anr_dialog = false;
|
||||
# vfr = true;
|
||||
};
|
||||
"$mainMod" = "SUPER";
|
||||
bind =
|
||||
[
|
||||
dwindle = {
|
||||
# pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
# master = {
|
||||
# new_status = master;
|
||||
# };
|
||||
misc = {
|
||||
force_default_wallpaper = -1;
|
||||
disable_hyprland_logo = false;
|
||||
enable_anr_dialog = false;
|
||||
# vfr = true;
|
||||
};
|
||||
"$mainMod" = "SUPER";
|
||||
bind = [
|
||||
(
|
||||
let
|
||||
config = pkgs.writeTextFile {
|
||||
@@ -131,7 +149,8 @@
|
||||
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"
|
||||
@@ -150,7 +169,7 @@
|
||||
fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze'
|
||||
'';
|
||||
in
|
||||
"$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'"
|
||||
"$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'"
|
||||
)
|
||||
"$mainMod, F, fullscreen"
|
||||
"$mainMod, mouse_down, workspace, e+1"
|
||||
@@ -163,39 +182,41 @@
|
||||
]
|
||||
++ (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"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
windowrule = [
|
||||
"match:class .*, suppress_event maximize"
|
||||
"match:class ^(gamescope)$, workspace 5"
|
||||
"match:class ^(gamescope)$, immediate true"
|
||||
"match:class ^(steam)$, workspace 6 silent"
|
||||
"match:class ^(vesktop)$, workspace 8 silent"
|
||||
"match:class ^(org.telegram.desktop)$, workspace 8 silent"
|
||||
"match:class ^(com.obsproject.Studio)$, workspace 10 silent"
|
||||
"match:initial_title ^(OBS Studio Crash Detected)$, pin true"
|
||||
"match:initial_title ^(Discord Popout)$, workspace 1 silent"
|
||||
];
|
||||
layerrule = [
|
||||
"match:namespace ^(notifications)$, no_screen_share true"
|
||||
# "match:namespace ^(quickshell)$, blur true"
|
||||
];
|
||||
# exec-once = [
|
||||
# ];
|
||||
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
windowrule = [
|
||||
"match:class .*, suppress_event maximize"
|
||||
"match:class ^(gamescope)$, workspace 5"
|
||||
"match:class ^(gamescope)$, immediate true"
|
||||
"match:class ^(gamescope)$, confine_pointer true"
|
||||
"match:class ^(steam)$, workspace 6 silent"
|
||||
"match:class ^(vesktop)$, workspace 8 silent"
|
||||
"match:class ^(org.telegram.desktop)$, workspace 8 silent"
|
||||
"match:class ^(com.obsproject.Studio)$, workspace 10 silent"
|
||||
"match:initial_title ^(OBS Studio Crash Detected)$, pin true"
|
||||
"match:initial_title ^(Discord Popout)$, workspace 1 silent"
|
||||
];
|
||||
layerrule = [
|
||||
"match:namespace ^(notifications)$, no_screen_share true"
|
||||
# "match:namespace ^(quickshell)$, blur true"
|
||||
];
|
||||
# exec-once = [
|
||||
# ];
|
||||
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -3,59 +3,56 @@
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
flake-file.inputs = {
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
};
|
||||
modules.hyprland = {
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ inputs.hyprland.nixosModules.default ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
wayfreeze
|
||||
grim
|
||||
slurp
|
||||
wlogout
|
||||
ranger
|
||||
nixos = {pkgs, ...}: {
|
||||
imports = [inputs.hyprland.nixosModules.default];
|
||||
environment.systemPackages = with pkgs; [
|
||||
wayfreeze
|
||||
grim
|
||||
slurp
|
||||
wlogout
|
||||
ranger
|
||||
];
|
||||
programs.xwayland.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# withUWSM = true;
|
||||
# set the flake package
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# make sure to also set the portal package, so that they are in sync
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
# gtk.enable = lib.mkForce false;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
|
||||
];
|
||||
programs.xwayland.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# withUWSM = true;
|
||||
# set the flake package
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# make sure to also set the portal package, so that they are in sync
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
# gtk.enable = lib.mkForce false;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
hardware.graphics = {
|
||||
# package = pkgs-unstable.mesa;
|
||||
};
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
hardware.graphics = {
|
||||
# package = pkgs-unstable.mesa;
|
||||
|
||||
# if you also want 32-bit support (e.g for Steam)
|
||||
# enable32Bit = true;
|
||||
# package32 = pkgs-unstable.pkgsi686Linux.mesa;
|
||||
};
|
||||
# if you also want 32-bit support (e.g for Steam)
|
||||
# enable32Bit = true;
|
||||
# package32 = pkgs-unstable.pkgsi686Linux.mesa;
|
||||
};
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = [ "--all" ];
|
||||
};
|
||||
};
|
||||
homeManager = {pkgs, ...}: {
|
||||
gtk = {
|
||||
enable = true;
|
||||
};
|
||||
# backupFileExtension = "backupHM";
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = ["--all"];
|
||||
configType = "hyprlang";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
...
|
||||
}: {
|
||||
modules.kitty = {
|
||||
homeManager = {
|
||||
programs.kitty = {
|
||||
@@ -12,6 +15,7 @@
|
||||
sync_to_monitor = "yes";
|
||||
background_opacity = 0.6;
|
||||
cursor_trail = 1;
|
||||
auto_reload_config = -1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
flake-file.inputs = {
|
||||
nik-pkgs = {
|
||||
url = "git+https://git.scug.io/nikkuss/pkgs.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
modules.nikpkgs = {
|
||||
nixos = {
|
||||
nixpkgs.overlays = [ inputs.nik-pkgs.overlays.default ];
|
||||
nixpkgs.overlays = [inputs.nik-pkgs.overlays.default];
|
||||
};
|
||||
# debug = inputs.nik-pkgs;
|
||||
};
|
||||
}
|
||||
|
||||
+21
-21
@@ -24,19 +24,19 @@
|
||||
systemd
|
||||
|
||||
# My own additions
|
||||
xorg.libXcomposite
|
||||
xorg.libXtst
|
||||
xorg.libXrandr
|
||||
xorg.libXext
|
||||
xorg.libX11
|
||||
xorg.libXfixes
|
||||
libxcomposite
|
||||
libxtst
|
||||
libxrandr
|
||||
libxext
|
||||
libx11
|
||||
libxfixes
|
||||
libGL
|
||||
libva
|
||||
pipewire
|
||||
xorg.libxcb
|
||||
xorg.libXdamage
|
||||
xorg.libxshmfence
|
||||
xorg.libXxf86vm
|
||||
libxcb
|
||||
libxdamage
|
||||
libxshmfence
|
||||
libxxf86vm
|
||||
libelf
|
||||
|
||||
# Required
|
||||
@@ -56,13 +56,13 @@
|
||||
# glibc_multi.bin # Seems to cause issue in ARM
|
||||
|
||||
# # Without these it silently fails
|
||||
xorg.libXinerama
|
||||
xorg.libXcursor
|
||||
xorg.libXrender
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXi
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
libxinerama
|
||||
libxcursor
|
||||
libxrender
|
||||
libxscrnsaver
|
||||
libxi
|
||||
libsm
|
||||
libice
|
||||
gnome2.GConf
|
||||
nspr
|
||||
nss
|
||||
@@ -88,13 +88,13 @@
|
||||
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
|
||||
|
||||
# Verified games requirements
|
||||
xorg.libXt
|
||||
xorg.libXmu
|
||||
libxt
|
||||
libxmu
|
||||
libogg
|
||||
libvorbis
|
||||
SDL
|
||||
SDL2_image
|
||||
glew110
|
||||
glew_1_10
|
||||
libidn
|
||||
tbb
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
libgcrypt
|
||||
libvpx
|
||||
librsvg
|
||||
xorg.libXft
|
||||
libxft
|
||||
libvdpau
|
||||
# ...
|
||||
# Some more libraries that I needed to run programs
|
||||
|
||||
+34
-32
@@ -1,36 +1,38 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
flake-file.inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
modules.nix = {
|
||||
nixos =
|
||||
{ ... }:
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://hyprland.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
"https://attic.scug.io/pkgs"
|
||||
"https://cache.nixos-cuda.org"
|
||||
"https://niri.cachix.org"
|
||||
"https://attic.xuyh0120.win/lantian"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
|
||||
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
|
||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||
];
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
];
|
||||
trusted-users = [
|
||||
"doloro"
|
||||
];
|
||||
};
|
||||
nixos = {...}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings = {
|
||||
extra-substituters = [
|
||||
"https://hyprland.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
"https://attic.scug.io/pkgs"
|
||||
"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="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
|
||||
"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"
|
||||
"nix-command"
|
||||
];
|
||||
trusted-users = [
|
||||
"doloro"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+466
-350
@@ -4,394 +4,510 @@
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
# Its in its own folder for future modulizaion efforts
|
||||
flake-file.inputs = {
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
modules = {
|
||||
nixvim = {
|
||||
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"];
|
||||
nixos =
|
||||
{ home-manager, ... }:
|
||||
{
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
inputs.nixvim.homeModules.nixvim
|
||||
];
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
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" ];
|
||||
};
|
||||
colorschemes.gruvbox-material.enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
# formatters
|
||||
alejandra
|
||||
rustfmt
|
||||
# misc
|
||||
ripgrep
|
||||
nixd
|
||||
tree-sitter
|
||||
rust-analyzer
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.nixvim.homeModules.nixvim
|
||||
];
|
||||
performance.byteCompileLua = {
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
plugins = true;
|
||||
nvimRuntime = true;
|
||||
luaLib = true;
|
||||
configs = true;
|
||||
};
|
||||
plugins = {
|
||||
todo-comments.enable = true;
|
||||
lsp-status.enable = true;
|
||||
transparent.enable = true;
|
||||
which-key.enable = true;
|
||||
snacks.enable = true;
|
||||
conform-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
formatters_by_ft = {
|
||||
nix = ["alejandra"];
|
||||
rust = ["rustfmt"];
|
||||
"_" = [
|
||||
"squeeze_blanks"
|
||||
"trim_whitespace"
|
||||
"trim_newlines"
|
||||
];
|
||||
};
|
||||
format_on_save = {
|
||||
timeout_ms = 500;
|
||||
lsp_format = "fallback";
|
||||
};
|
||||
defaultEditor = true;
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
# efmls-configs = {
|
||||
colorschemes.gruvbox-material.enable = true;
|
||||
# colorschemes.melange = {
|
||||
# enable = true;
|
||||
# languages = {
|
||||
# scss = {
|
||||
# formatter = "prettier";
|
||||
# linter = "stylelint";
|
||||
# };
|
||||
# };
|
||||
# autoLoad = false;
|
||||
# };
|
||||
lsp = {
|
||||
extraPackages = with pkgs; [
|
||||
# formatters
|
||||
nixfmt-rs
|
||||
rustfmt
|
||||
# misc
|
||||
ripgrep
|
||||
nixd
|
||||
tree-sitter
|
||||
rust-analyzer
|
||||
rustc
|
||||
cargo
|
||||
];
|
||||
performance.byteCompileLua = {
|
||||
enable = true;
|
||||
servers = {
|
||||
qmlls = {
|
||||
enable = true;
|
||||
config = {
|
||||
cmd = "-E";
|
||||
plugins = true;
|
||||
nvimRuntime = true;
|
||||
luaLib = true;
|
||||
configs = true;
|
||||
};
|
||||
plugins = {
|
||||
luasnip.enable = true;
|
||||
cmp_luasnip.enable = true;
|
||||
fidget.enable = true;
|
||||
mini-comment.enable = true;
|
||||
# cord.enable = true;
|
||||
todo-comments.enable = true;
|
||||
transparent.enable = true;
|
||||
which-key.enable = true;
|
||||
snacks.enable = true;
|
||||
conform-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
formatters_by_ft = {
|
||||
nix = [ "nixfmt" ];
|
||||
rust = [ "rustfmt" ];
|
||||
"_" = [
|
||||
"squeeze_blanks"
|
||||
"trim_whitespace"
|
||||
"trim_newlines"
|
||||
];
|
||||
};
|
||||
format_on_save = {
|
||||
timeout_ms = 500;
|
||||
lsp_format = "fallback";
|
||||
};
|
||||
};
|
||||
rust_analyzer = {
|
||||
enable = true;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
};
|
||||
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";
|
||||
};
|
||||
# efmls-configs = {
|
||||
# enable = true;
|
||||
# languages = {
|
||||
# scss = {
|
||||
# formatter = "prettier";
|
||||
# linter = "stylelint";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
# qmlls = {
|
||||
# enable = true;
|
||||
# config = {
|
||||
# cmd = "-E";
|
||||
# };
|
||||
# };
|
||||
rust_analyzer = {
|
||||
enable = true;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
};
|
||||
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;
|
||||
};
|
||||
ts_ls = {
|
||||
enable = true;
|
||||
};
|
||||
cssls.enable = true;
|
||||
svelte.enable = true;
|
||||
};
|
||||
};
|
||||
lsp-format = {
|
||||
enable = true;
|
||||
# lspServersToEnable = [ "qmlls" ];
|
||||
};
|
||||
notify = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background_color = "#00000000";
|
||||
};
|
||||
};
|
||||
mini-cursorword.enable = true;
|
||||
# mini-statusline.enable = true;
|
||||
lualine = {
|
||||
enable = true;
|
||||
settings = {
|
||||
sections = {
|
||||
lualine_a = ["mode"];
|
||||
lualine_b = [
|
||||
"branch"
|
||||
"diff"
|
||||
"diagnostics"
|
||||
];
|
||||
lualine_c = ["filename"];
|
||||
lualine_x = [
|
||||
"encoding"
|
||||
"fileformat"
|
||||
"filetype"
|
||||
];
|
||||
lualine_y = ["progress"];
|
||||
lualine_z = ["location"];
|
||||
};
|
||||
inactive_sections = {
|
||||
lualine_a = [];
|
||||
lualine_b = [];
|
||||
lualine_c = ["filename"];
|
||||
lualine_x = ["location"];
|
||||
lualine_y = [];
|
||||
lualine_z = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
web-devicons.enable = true;
|
||||
vim-dadbod-completion.enable = true;
|
||||
telescope.enable = true;
|
||||
lazygit.enable = true;
|
||||
mini-indentscope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
draw = {
|
||||
delay = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
mini-files = {
|
||||
enable = true;
|
||||
settings = {
|
||||
windows = {
|
||||
preview = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
lsp-lines.enable = true;
|
||||
diaglist = {
|
||||
enable = true;
|
||||
settings = {
|
||||
debug = false;
|
||||
};
|
||||
};
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{
|
||||
name = "nvim_lsp";
|
||||
priority = 100;
|
||||
}
|
||||
{
|
||||
name = "buffer";
|
||||
priority = 50;
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
priority = 40;
|
||||
}
|
||||
];
|
||||
mapping = {
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<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";
|
||||
astro = {
|
||||
enable = true;
|
||||
};
|
||||
documentation = {
|
||||
border = "rounded";
|
||||
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu";
|
||||
ts_ls = {
|
||||
enable = true;
|
||||
};
|
||||
cssls.enable = true;
|
||||
svelte.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
lspkind.enable = true;
|
||||
tiny-inline-diagnostic.enable = true;
|
||||
# tiny-code-action.enable = true;
|
||||
# persisted.enable = true;
|
||||
auto-session = {
|
||||
enable = false;
|
||||
settings = {
|
||||
enabled = true;
|
||||
auto_save = true;
|
||||
auto_restore = true;
|
||||
lsp-format = {
|
||||
enable = true;
|
||||
# lspServersToEnable = [ "qmlls" ];
|
||||
};
|
||||
};
|
||||
wakatime.enable = true;
|
||||
treesitter = {
|
||||
enable = true;
|
||||
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
|
||||
bash
|
||||
css
|
||||
html
|
||||
javascript
|
||||
json
|
||||
lua
|
||||
make
|
||||
markdown
|
||||
rust
|
||||
nix
|
||||
regex
|
||||
toml
|
||||
tsx
|
||||
typescript
|
||||
vim
|
||||
vimdoc
|
||||
xml
|
||||
yaml
|
||||
svelte
|
||||
];
|
||||
settings = {
|
||||
highlight.enable = true;
|
||||
indent.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
extraPlugins = with pkgs; [
|
||||
# vimPlugins.mini-completion
|
||||
vimPlugins.mini-comment
|
||||
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;
|
||||
bg = "dark";
|
||||
tabstop = 2;
|
||||
shiftwidth = 2;
|
||||
termguicolors = true;
|
||||
};
|
||||
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>";
|
||||
key = "<leader>fs";
|
||||
options = {
|
||||
silent = true;
|
||||
enable = true;
|
||||
settings = {
|
||||
background_color = "#00000000";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope find_files<cr>";
|
||||
key = "<leader>ff";
|
||||
options = {
|
||||
silent = true;
|
||||
mini-cursorword.enable = true;
|
||||
# mini-statusline.enable = true;
|
||||
lualine = {
|
||||
enable = true;
|
||||
settings = {
|
||||
sections = {
|
||||
lualine_a = [ "mode" ];
|
||||
lualine_b = [
|
||||
"branch"
|
||||
"diff"
|
||||
"diagnostics"
|
||||
];
|
||||
lualine_c = [ "filename" ];
|
||||
lualine_x = [
|
||||
"encoding"
|
||||
"fileformat"
|
||||
"filetype"
|
||||
];
|
||||
lualine_y = [ "progress" ];
|
||||
lualine_z = [ "location" ];
|
||||
};
|
||||
inactive_sections = {
|
||||
lualine_a = [ ];
|
||||
lualine_b = [ ];
|
||||
lualine_c = [ "filename" ];
|
||||
lualine_x = [ "location" ];
|
||||
lualine_y = [ ];
|
||||
lualine_z = [ ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>:lua MiniFiles.open()<cr>";
|
||||
key = "<leader>fv";
|
||||
options = {
|
||||
silent = true;
|
||||
web-devicons.enable = true;
|
||||
vim-dadbod-completion.enable = true;
|
||||
telescope = {
|
||||
enable = true;
|
||||
extensions.file-browser.enable = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>LazyGit<cr>";
|
||||
key = "<leader>lg";
|
||||
options = {
|
||||
silent = true;
|
||||
lazygit.enable = true;
|
||||
mini-indentscope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
draw = {
|
||||
delay = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope buffers<cr>";
|
||||
key = "<leader>fb";
|
||||
options = {
|
||||
silent = true;
|
||||
mini-files = {
|
||||
enable = true;
|
||||
settings = {
|
||||
windows = {
|
||||
preview = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope live_grep<cr>";
|
||||
key = "<leader>fg";
|
||||
options = {
|
||||
silent = true;
|
||||
lsp-lines.enable = true;
|
||||
trouble = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_close = true;
|
||||
use_diagnostic_signs = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>DiaglistToggle<cr>";
|
||||
key = "<leader>fd";
|
||||
options = {
|
||||
silent = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
cmdline = {
|
||||
":" = {
|
||||
mapping.__raw = "cmp.mapping.preset.cmdline()";
|
||||
sources = [
|
||||
{ name = "path"; }
|
||||
{ name = "cmdline"; }
|
||||
];
|
||||
};
|
||||
"/" = {
|
||||
mapping.__raw = "cmp.mapping.preset.cmdline()";
|
||||
sources = [
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
snippet.expand.__raw = "function(args) require('luasnip').lsp_expand(args.body) end";
|
||||
sources = [
|
||||
{
|
||||
name = "nvim_lsp";
|
||||
priority = 100;
|
||||
}
|
||||
{
|
||||
name = "nvim_lsp_signature_help";
|
||||
priority = 90;
|
||||
}
|
||||
{
|
||||
name = "luasnip";
|
||||
priority = 75;
|
||||
}
|
||||
{
|
||||
name = "buffer";
|
||||
priority = 50;
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
priority = 40;
|
||||
}
|
||||
];
|
||||
mapping = {
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<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() elseif require('luasnip').jumpable(-1) then require('luasnip').jump(-1) else fallback() end end, {'i', 's'})";
|
||||
"<Tab>" =
|
||||
"cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif require('luasnip').expand_or_jumpable() then require('luasnip').expand_or_jump() 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua require('tiny-code-action').code_action()<cr>";
|
||||
key = "<leader>ca";
|
||||
mode = ["n" "x"];
|
||||
options = {
|
||||
silent = true;
|
||||
lspkind.enable = true;
|
||||
tiny-inline-diagnostic.enable = true;
|
||||
# tiny-code-action.enable = true;
|
||||
# persisted.enable = true;
|
||||
auto-session = {
|
||||
enable = false;
|
||||
settings = {
|
||||
enabled = true;
|
||||
auto_save = true;
|
||||
auto_restore = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
wakatime.enable = true;
|
||||
treesitter = {
|
||||
enable = true;
|
||||
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
|
||||
bash
|
||||
css
|
||||
html
|
||||
javascript
|
||||
json
|
||||
lua
|
||||
make
|
||||
markdown
|
||||
rust
|
||||
nix
|
||||
regex
|
||||
toml
|
||||
tsx
|
||||
typescript
|
||||
vim
|
||||
vimdoc
|
||||
xml
|
||||
yaml
|
||||
svelte
|
||||
];
|
||||
settings = {
|
||||
highlight.enable = true;
|
||||
indent.enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
extraPlugins = with pkgs; [
|
||||
vimPlugins.cmp-nvim-lsp-signature-help
|
||||
tiny-code-action
|
||||
];
|
||||
opts = {
|
||||
number = true;
|
||||
bg = "dark";
|
||||
tabstop = 2;
|
||||
shiftwidth = 2;
|
||||
termguicolors = true;
|
||||
completeopt = "menu,menuone,noselect";
|
||||
};
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
};
|
||||
extraConfigLua = ''
|
||||
-- tree-sitter-nix uses (#is-not? local) which the new nvim-treesitter main branch no longer registers
|
||||
vim.treesitter.query.add_predicate("is-not?", function() return true end, { force = true })
|
||||
|
||||
require('tiny-code-action').setup({
|
||||
backend = 'vim',
|
||||
picker = 'snacks',
|
||||
resolve_timeout = 100,
|
||||
notify = {
|
||||
enabled = true,
|
||||
on_empty = true,
|
||||
},
|
||||
})
|
||||
'';
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd>Telescope persisted<cr>";
|
||||
key = "<leader>fs";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope find_files<cr>";
|
||||
key = "<leader>ff";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>:lua MiniFiles.open()<cr>";
|
||||
key = "<leader>fv";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>LazyGit<cr>";
|
||||
key = "<leader>lg";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope buffers<cr>";
|
||||
key = "<leader>fb";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope live_grep<cr>";
|
||||
key = "<leader>fg";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Trouble diagnostics toggle<cr>";
|
||||
key = "<leader>fd";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Toggle diagnostics (Trouble)";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua require('tiny-code-action').code_action()<cr>";
|
||||
key = "<leader>ca";
|
||||
mode = [
|
||||
"n"
|
||||
"x"
|
||||
];
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
# LSP
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
|
||||
key = "gd";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Go to definition";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.declaration()<cr>";
|
||||
key = "gD";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Go to declaration";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.implementation()<cr>";
|
||||
key = "gi";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Go to implementation";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
|
||||
key = "<leader>D";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Go to type definition";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope lsp_references<cr>";
|
||||
key = "gr";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "LSP references";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
|
||||
key = "K";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Hover docs";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.signature_help()<cr>";
|
||||
key = "<C-k>";
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Signature help";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.lsp.buf.rename()<cr>";
|
||||
key = "<leader>rn";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Rename symbol";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
|
||||
key = "[d";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Previous diagnostic";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
|
||||
key = "]d";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Next diagnostic";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua vim.diagnostic.open_float()<cr>";
|
||||
key = "<leader>e";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Show diagnostic float";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+66
-64
@@ -1,70 +1,72 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
...
|
||||
}: {
|
||||
modules.obs = settings: {
|
||||
homeManager =
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs = {
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.obs-studio.override {
|
||||
cudaSupport = true;
|
||||
}
|
||||
);
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-pipewire-audio-capture
|
||||
obs-vkcapture
|
||||
];
|
||||
};
|
||||
};
|
||||
systemd.user.services =
|
||||
let
|
||||
audio-set = lib.mkIf settings.audio {
|
||||
pw-discordaudio-virtual-device = {
|
||||
Unit = {
|
||||
Description = "OBS daemon";
|
||||
After = [ "hyprland-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
|
||||
''}";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
pw-gameaudio-virtual-device = {
|
||||
Unit = {
|
||||
Description = "OBS daemon";
|
||||
After = [ "hyprland-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
|
||||
''}";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.mergeAttrsList [ audio-set ];
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [ "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer" ];
|
||||
homeManager = {
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.obs-studio.override {
|
||||
cudaSupport = true;
|
||||
}
|
||||
);
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-pipewire-audio-capture
|
||||
obs-vkcapture
|
||||
obs-vaapi #optional AMD hardware acceleration
|
||||
obs-gstreamer
|
||||
];
|
||||
};
|
||||
};
|
||||
systemd.user.services = let
|
||||
audio-set = lib.mkIf settings.audio {
|
||||
pw-discordaudio-virtual-device = {
|
||||
Unit = {
|
||||
Description = "OBS daemon";
|
||||
After = ["hyprland-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["default.target"];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
|
||||
''}";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
pw-gameaudio-virtual-device = {
|
||||
Unit = {
|
||||
Description = "OBS daemon";
|
||||
After = ["hyprland-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["default.target"];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
|
||||
''}";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.mergeAttrsList [audio-set];
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# exec-once = ["${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -22,15 +22,31 @@ Rectangle {
|
||||
id: content
|
||||
height: 20
|
||||
anchors.centerIn: parent
|
||||
Text {
|
||||
id: speaker
|
||||
text: root.defaultSpeaker.audio.muted ? "muted" : "unmuted"
|
||||
color: Colors.textPrimary
|
||||
spacing: 4
|
||||
Rectangle {
|
||||
implicitWidth: 24
|
||||
implicitHeight: 20
|
||||
color: "transparent"
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: root.defaultSpeaker.audio.muted ? "" : ""
|
||||
font.family: "CaskaydiaCove NF"
|
||||
font.pixelSize: 20
|
||||
color: Colors.textPrimary
|
||||
}
|
||||
}
|
||||
Text {
|
||||
id: mic
|
||||
text: root.defaultMic.audio.muted ? "muted" : "unmuted"
|
||||
color: Colors.textPrimary
|
||||
Rectangle {
|
||||
implicitWidth: 24
|
||||
implicitHeight: 20
|
||||
color: "transparent"
|
||||
radius: 3
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: root.defaultMic.audio.muted ? "" : ""
|
||||
font.family: "CaskaydiaCove NFM"
|
||||
font.pixelSize: 30
|
||||
color: Colors.textPrimary
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,37 +4,62 @@
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
flake-file.inputs = {
|
||||
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
|
||||
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";
|
||||
};
|
||||
modules.raspberry-pi = {
|
||||
provides = {
|
||||
"5" = {
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
rpi-pi = inputs.raspberry-pi-nix;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
rpi-pi.nixosModules.raspberry-pi
|
||||
rpi-pi.nixosModules.sd-image
|
||||
];
|
||||
nixos = {pkgs, ...}: {
|
||||
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
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
libraspberrypi
|
||||
];
|
||||
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
|
||||
|
||||
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;
|
||||
inputs.nixos-raspberrypi.nixosModules.sd-image
|
||||
];
|
||||
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
libraspberrypi
|
||||
];
|
||||
|
||||
_module.args = {inherit (inputs) nixos-raspberrypi;};
|
||||
|
||||
sdImage.compressImage = 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"];
|
||||
# };
|
||||
# };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
__findFile,
|
||||
modules,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
# Basic caddy
|
||||
modules.services.provides.caddy = {
|
||||
nixos =
|
||||
{ config, ... }:
|
||||
{
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
email = "doloroo@proton.me";
|
||||
enableReload = true;
|
||||
};
|
||||
nixos = {config, ...}: {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
email = "doloroo@proton.me";
|
||||
enableReload = true;
|
||||
globalConfig = ''
|
||||
acme_ca https://acme-v02.api.letsencrypt.org/directory
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,35 +3,43 @@
|
||||
__findFile,
|
||||
modules,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
# Basic traefik
|
||||
modules.services.provides.ddns = {
|
||||
nixos =
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
ddnsImg = pkgs.dockerTools.pullImage {
|
||||
imageName = "qmcgaw/ddns-updater";
|
||||
imageDigest = "sha256:ee16ab4f6203bf9e5b0925d38a0b4ebf2d9f23771f933cfb2f5a2dbd5f9a2f88";
|
||||
finalImageName = "qmcgaw/ddns-updater";
|
||||
finalImageTag = "latest";
|
||||
sha256 = "sha256-dMCHkvoFaORmGwbIM9io4Vc9fq+wBks25k2dmnW7naI=";
|
||||
arch = "arm64";
|
||||
};
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
ddns = {
|
||||
image = "qmcgaw/ddns-updater";
|
||||
imageFile = ddnsImg;
|
||||
volumes = [
|
||||
"/data/ddns:/updater/data"
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
];
|
||||
# ports = [ "0.0.0.0:8123:8123" ];
|
||||
# networks = [ "meow" ];
|
||||
};
|
||||
nixos = {
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
ddnsImg = pkgs.dockerTools.pullImage {
|
||||
imageName = "qmcgaw/ddns-updater";
|
||||
imageDigest = "sha256:ee16ab4f6203bf9e5b0925d38a0b4ebf2d9f23771f933cfb2f5a2dbd5f9a2f88";
|
||||
finalImageName = "qmcgaw/ddns-updater";
|
||||
finalImageTag = "latest";
|
||||
sha256 = "sha256-dMCHkvoFaORmGwbIM9io4Vc9fq+wBks25k2dmnW7naI=";
|
||||
arch = "arm64";
|
||||
};
|
||||
in {
|
||||
virtualisation.oci-containers.containers = {
|
||||
ddns = {
|
||||
image = "qmcgaw/ddns-updater";
|
||||
imageFile = ddnsImg;
|
||||
volumes = [
|
||||
"/data/ddns:/updater/data"
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
];
|
||||
ports = ["0.0.0.0:8125:8000"];
|
||||
# networks = [ "meow" ];
|
||||
};
|
||||
};
|
||||
services.caddy = pkgs.lib.mkIf config.services.caddy.enable {
|
||||
virtualHosts."ddns.h.doloro.co.uk".extraConfig = ''
|
||||
reverse_proxy :8125
|
||||
basic_auth {
|
||||
doloro $2a$14$FH.UkwC0PUsQ7IEV9XLAf.6/11KLsugCbrX/o6dPTx7NBlJWv3aiO
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
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."https://reg.h.doloro.co.uk".extraConfig = ''
|
||||
reverse_proxy :5000
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -8,10 +8,10 @@
|
||||
ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
matchBlocks = {
|
||||
settings = {
|
||||
"*" = {
|
||||
addKeysToAgent = "yes";
|
||||
identityFile = [
|
||||
AddKeysToAgent = "yes";
|
||||
IdentityFile = [
|
||||
"~/.ssh/id_ed25519"
|
||||
"~/.ssh/id_gitea_scug"
|
||||
];
|
||||
|
||||
+22
-27
@@ -3,8 +3,7 @@
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
flake-file.inputs = {
|
||||
stylix = {
|
||||
url = "github:nix-community/stylix";
|
||||
@@ -12,33 +11,29 @@
|
||||
};
|
||||
};
|
||||
modules.stylix = {
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ inputs.stylix.homeModules.stylix ];
|
||||
gtk.gtk4.theme = null;
|
||||
stylix = {
|
||||
enable = true;
|
||||
autoEnable = false;
|
||||
targets.gtk.enable = true;
|
||||
targets.qt.enable = true;
|
||||
targets.tmux.enable = false;
|
||||
fonts = {
|
||||
monospace = {
|
||||
name = "CaskaydiaCove Nerd Font Mono";
|
||||
package = pkgs.nerd-fonts.caskaydia-cove;
|
||||
};
|
||||
homeManager = {pkgs, ...}: {
|
||||
imports = [inputs.stylix.homeModules.stylix];
|
||||
# gtk.gtk4.theme = null;
|
||||
stylix = {
|
||||
enable = true;
|
||||
autoEnable = false;
|
||||
targets.gtk.enable = true;
|
||||
targets.qt.enable = true;
|
||||
targets.tmux.enable = false;
|
||||
fonts = {
|
||||
monospace = {
|
||||
name = "CaskaydiaCove Nerd Font Mono";
|
||||
package = pkgs.nerd-fonts.caskaydia-cove;
|
||||
};
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
||||
};
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
||||
};
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ inputs.stylix.nixosModules.stylix ];
|
||||
stylix.enable = false;
|
||||
stylix.autoEnable = false;
|
||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
||||
};
|
||||
};
|
||||
nixos = {pkgs, ...}: {
|
||||
imports = [inputs.stylix.nixosModules.stylix];
|
||||
stylix.enable = false;
|
||||
stylix.autoEnable = false;
|
||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+24
-20
@@ -1,24 +1,28 @@
|
||||
{modules, ...}: {
|
||||
{ modules, ... }:
|
||||
{
|
||||
modules.tmux = {
|
||||
homeManager = {
|
||||
home,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
sensible
|
||||
minimal-tmux-status
|
||||
];
|
||||
extraConfig = ''
|
||||
set-option -g default-terminal "tmux-256color"
|
||||
set -as terminal-features ",xterm-256color:RGB"
|
||||
set -g status-bg black
|
||||
set -g status-fg white
|
||||
set -g mouse on
|
||||
'';
|
||||
homeManager =
|
||||
{
|
||||
home,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
sensible
|
||||
minimal-tmux-status
|
||||
];
|
||||
extraConfig = ''
|
||||
set-option -g default-terminal "tmux-256color"
|
||||
set -as terminal-features ",xterm-256color:RGB"
|
||||
set -g status-bg black
|
||||
set -g status-fg white
|
||||
set -g mouse on
|
||||
set -g extended-keys on
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --sessions ${config.services.xserver.displayManager.sessionData.desktops}/share/xsessions:${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions --remember --remember-user-session --greeting 'meow meow meow' --time";
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --sessions ${config.services.displayManager.sessionData.desktops}/share/xsessions:${config.services.displayManager.sessionData.desktops}/share/wayland-sessions --remember --remember-user-session --greeting 'meow meow meow' --time";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{modules, ...}: {
|
||||
modules.unity = {
|
||||
homeManager = {pkgs, ...}: {
|
||||
home.packages = [pkgs.unityhub pkgs.alcom pkgs.unityhub.fhsEnv];
|
||||
home.file."unityExec" = {
|
||||
source = "${pkgs.unityhub}/bin/unityhub";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
modules,
|
||||
den,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
flake-file.inputs = {
|
||||
nixos-wsl.url = "github:nix-community/NixOS-WSL";
|
||||
};
|
||||
modules.wsl = {
|
||||
nixos = {
|
||||
imports = [inputs.nixos-wsl.nixosModules.default];
|
||||
};
|
||||
};
|
||||
}
|
||||
Generated
+496
-251
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@
|
||||
|
||||
inputs = {
|
||||
den.url = "github:vic/den?ref=8101ec865c0bf4027d40b9fd8951e3e435a86d64";
|
||||
direnv-instant.url = "github:Mic92/direnv-instant";
|
||||
disko.url = "github:nix-community/disko";
|
||||
flake-file.url = "github:vic/flake-file";
|
||||
flake-parts = {
|
||||
@@ -21,19 +22,23 @@
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
nik-pkgs = {
|
||||
url = "git+https://git.scug.io/nikkuss/pkgs.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nik-pkgs.url = "git+https://git.scug.io/nikkuss/pkgs.git";
|
||||
niri-flake = {
|
||||
url = "github:sodiboo/niri-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
||||
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
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 = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=main";
|
||||
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
|
||||
raspberry-pi-nix.url = "github:cmyk/raspberry-pi-nix";
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
Reference in New Issue
Block a user