Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
ff1629ad1f
|
|||
|
b93c1ad6aa
|
|||
|
a9e3deea08
|
|||
|
e1b14b3e07
|
|||
|
2a8f29f35f
|
|||
|
b92586122e
|
|||
|
e72f3c8dd9
|
|||
|
3b0d0e45e3
|
|||
|
ffdf1c7e69
|
|||
|
02c8529c83
|
|||
|
d486fa170b
|
|||
|
7d3a5ba4fa
|
|||
|
6c609e2fa6
|
|||
|
140f47649c
|
|||
|
212af403dc
|
|||
|
1e8337e380
|
|||
|
6b8e08fb7a
|
|||
|
1977e912ee
|
|||
|
d53bba8961
|
|||
|
93ef68a998
|
|||
|
74cadc4f69
|
|||
|
5e83cc9863
|
|||
|
0545039d39
|
|||
|
15c48c0ed3
|
|||
|
49624c8bd1
|
|||
|
9b9a34f708
|
@@ -4,8 +4,7 @@
|
|||||||
modules,
|
modules,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
den.aspects.doloro-desktop = {
|
den.aspects.doloro-desktop = {
|
||||||
includes = [
|
includes = [
|
||||||
<den/primary-user>
|
<den/primary-user>
|
||||||
@@ -34,48 +33,68 @@
|
|||||||
modules.easyeffects
|
modules.easyeffects
|
||||||
modules.lavd
|
modules.lavd
|
||||||
modules.ai
|
modules.ai
|
||||||
|
modules.omp
|
||||||
|
modules.podman
|
||||||
<modules/ai/ollama-cuda>
|
<modules/ai/ollama-cuda>
|
||||||
];
|
];
|
||||||
nixos =
|
nixos = {
|
||||||
{ config, pkgs, ... }:
|
config,
|
||||||
{
|
pkgs,
|
||||||
users.users.doloro = {
|
...
|
||||||
shell = pkgs.fish;
|
}: {
|
||||||
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
|
users.users.doloro = {
|
||||||
};
|
shell = pkgs.fish;
|
||||||
|
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
|
||||||
|
extraGroups = ["libvirtd"];
|
||||||
};
|
};
|
||||||
homeManager =
|
virtualisation.libvirtd.enable = true;
|
||||||
{ home, pkgs, ... }:
|
programs.virt-manager.enable = true;
|
||||||
{
|
};
|
||||||
wayland.windowManager.hyprland.settings = {
|
homeManager = {
|
||||||
monitor = [
|
home,
|
||||||
"HDMI-A-1, 1920x1080@60, 0x0, 1"
|
pkgs,
|
||||||
"DP-3, 1920x1080@144, 1920x0, 1"
|
...
|
||||||
];
|
}: {
|
||||||
exec-once = [
|
wayland.windowManager.hyprland.settings = {
|
||||||
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
|
monitor = [
|
||||||
];
|
"HDMI-A-1, 1920x1080@60, 0x0, 1"
|
||||||
workspace = [
|
"DP-3, 1920x1080@144, 1920x0, 1"
|
||||||
"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
|
|
||||||
gamescope
|
|
||||||
android-studio
|
|
||||||
];
|
];
|
||||||
nixpkgs.config.allowUnfree = true;
|
exec-once = [
|
||||||
programs.home-manager.enable = true;
|
"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
|
||||||
|
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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,93 +6,95 @@
|
|||||||
__findFile,
|
__findFile,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
den.aspects.desktop = {
|
den.aspects.desktop = {
|
||||||
includes = [
|
includes = [
|
||||||
modules.nix
|
modules.nix
|
||||||
];
|
];
|
||||||
nixos =
|
nixos = {
|
||||||
{ pkgs, config, ... }:
|
pkgs,
|
||||||
{
|
config,
|
||||||
boot.loader.grub.enable = true;
|
...
|
||||||
boot.loader.grub.device = "nodev";
|
}: {
|
||||||
boot.loader.grub.devices = [
|
boot.loader.grub.enable = true;
|
||||||
"/dev/disk/by-id/nvme-CT1000P2SSD8_2221E632CD1F"
|
boot.loader.grub.device = "nodev";
|
||||||
"nodev"
|
boot.loader.grub.devices = [
|
||||||
];
|
"/dev/disk/by-id/nvme-CT1000P2SSD8_2221E632CD1F"
|
||||||
#boot.loader.efi.canTouchEfiVariables = true;
|
"nodev"
|
||||||
boot.loader.grub.efiSupport = true;
|
];
|
||||||
boot.loader.grub.efiInstallAsRemovable = true;
|
#boot.loader.efi.canTouchEfiVariables = true;
|
||||||
networking.hostName = "doloroo-main"; # Define your hostname.
|
boot.loader.grub.efiSupport = true;
|
||||||
|
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.initrd.verbose = false;
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"boot.shell_on_fail"
|
"boot.shell_on_fail"
|
||||||
"rd.systemd.show_status=auto"
|
"rd.systemd.show_status=auto"
|
||||||
];
|
];
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
|
|
||||||
fileSystems."/mnt/2tb" = {
|
|
||||||
device = "/dev/disk/by-uuid/0f49aec7-4af2-4f4f-b475-3f4fad2b59c2";
|
|
||||||
fsType = "ext4";
|
|
||||||
options = [
|
|
||||||
# If you don't have this options attribute, it'll default to "defaults"
|
|
||||||
# boot options for fstab. Search up fstab mount options you can use
|
|
||||||
"defaults"
|
|
||||||
"users" # Allows any user to mount and unmount
|
|
||||||
"nofail" # Prevent system from failing if this drive doesn't mount
|
|
||||||
"exec"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
hardware.nvidia = {
|
|
||||||
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
|
||||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
|
||||||
# of just the bare essentials.
|
|
||||||
powerManagement.enable = true;
|
|
||||||
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
# prime.offload.enable = true;
|
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
open = true;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
|
fileSystems."/mnt/2tb" = {
|
||||||
|
device = "/dev/disk/by-uuid/0f49aec7-4af2-4f4f-b475-3f4fad2b59c2";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
# If you don't have this options attribute, it'll default to "defaults"
|
||||||
|
# boot options for fstab. Search up fstab mount options you can use
|
||||||
|
"defaults"
|
||||||
|
"users" # Allows any user to mount and unmount
|
||||||
|
"nofail" # Prevent system from failing if this drive doesn't mount
|
||||||
|
"exec"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
hardware.nvidia = {
|
||||||
|
# Modesetting is required.
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
# prime.offload.enable = true;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
open = true;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
# accessible via `nvidia-settings`.
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
# 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,6 +21,7 @@
|
|||||||
modules.stylix
|
modules.stylix
|
||||||
modules.quickshell
|
modules.quickshell
|
||||||
modules.lavd
|
modules.lavd
|
||||||
|
modules.omp
|
||||||
# modules.podman
|
# modules.podman
|
||||||
# modules.openvivo
|
# modules.openvivo
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -171,12 +171,12 @@
|
|||||||
# "mem_sleep_default=deep"
|
# "mem_sleep_default=deep"
|
||||||
# "i915.fastboot=1"
|
# "i915.fastboot=1"
|
||||||
# "i915.modeset=1"
|
# "i915.modeset=1"
|
||||||
# "ahci.mobile_lpm_policy=1"
|
"ahci.mobile_lpm_policy=1"
|
||||||
# "intel_idle.max_cstate=10"
|
# "intel_idle.max_cstate=10"
|
||||||
"processor.max_cstate=10"
|
"processor.max_cstate=10"
|
||||||
"pci=noaer"
|
"pci=noaer"
|
||||||
# "quiet"
|
"quiet"
|
||||||
# "splash"
|
"splash"
|
||||||
# "idle=halt"
|
# "idle=halt"
|
||||||
];
|
];
|
||||||
boot.binfmt.emulatedSystems = [
|
boot.binfmt.emulatedSystems = [
|
||||||
|
|||||||
@@ -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,
|
__findFile,
|
||||||
modules,
|
modules,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
den.aspects.rpi5 = {
|
den.aspects.rpi5 = {
|
||||||
includes = [
|
includes = [
|
||||||
<modules/raspberry-pi/5>
|
<modules/raspberry-pi/5>
|
||||||
# <modules/services/traefik>
|
# <modules/services/traefik>
|
||||||
<modules/services/caddy>
|
<modules/services/caddy>
|
||||||
<modules/services/home-assistant>
|
<modules/services/home-assistant>
|
||||||
|
<modules/services/docker-registry>
|
||||||
<modules/services/ddns>
|
<modules/services/ddns>
|
||||||
];
|
];
|
||||||
nixos = {
|
nixos = {
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
443
|
443
|
||||||
8080
|
8080
|
||||||
];
|
];
|
||||||
allowedUDPPortRanges = [ ];
|
allowedUDPPortRanges = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|||||||
@@ -3,8 +3,7 @@
|
|||||||
__findFile,
|
__findFile,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
# Homes
|
# Homes
|
||||||
den.homes.x86_64-linux.doloro-desktop = {
|
den.homes.x86_64-linux.doloro-desktop = {
|
||||||
aspect = "doloro-desktop";
|
aspect = "doloro-desktop";
|
||||||
@@ -14,6 +13,9 @@
|
|||||||
den.homes.aarch64-linux.doloro-laptop = {
|
den.homes.aarch64-linux.doloro-laptop = {
|
||||||
userName = "doloro";
|
userName = "doloro";
|
||||||
};
|
};
|
||||||
|
den.homes.aarch64-linux.doloro-wsl = {
|
||||||
|
userName = "doloro";
|
||||||
|
};
|
||||||
# Machines
|
# Machines
|
||||||
den.hosts.x86_64-linux.desktop = {
|
den.hosts.x86_64-linux.desktop = {
|
||||||
users.doloro = {
|
users.doloro = {
|
||||||
@@ -28,13 +30,18 @@
|
|||||||
home-manager.enable = true;
|
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.'
|
# Fixes 'The option `flake.homeConfigurations' is defined multiple times while it's expected to be unique.'
|
||||||
flake.options.homeConfigurations = lib.mkOption {
|
flake.options.homeConfigurations = lib.mkOption {
|
||||||
type = lib.types.attrs;
|
type = lib.types.attrs;
|
||||||
description = "Home Manager configurations for users.";
|
description = "Home Manager configurations for users.";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,10 @@
|
|||||||
homeManager =
|
homeManager =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
home.packages = [ pkgs.opencode ];
|
home.packages = [
|
||||||
|
pkgs.opencode
|
||||||
|
pkgs.claude-code
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -18,6 +18,9 @@
|
|||||||
set -g theme_display_user yes
|
set -g theme_display_user yes
|
||||||
set -g fish_color_autosuggestion 6F6578
|
set -g fish_color_autosuggestion 6F6578
|
||||||
alias nik 'nix'
|
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 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'
|
# alias hms 'home-manager switch --flake .#${aspect-name} --log-format internal-json -v &| nom --json'
|
||||||
|
|||||||
@@ -1,143 +1,144 @@
|
|||||||
{ modules, ... }:
|
{modules, ...}: {
|
||||||
{
|
|
||||||
modules.hyprland = {
|
modules.hyprland = {
|
||||||
provides = {
|
provides = {
|
||||||
doloro-settings = {
|
doloro-settings = {
|
||||||
includes = [
|
includes = [
|
||||||
modules.dunst
|
modules.dunst
|
||||||
];
|
];
|
||||||
homeManager =
|
homeManager = {
|
||||||
{ pkgs, home, ... }:
|
pkgs,
|
||||||
{
|
home,
|
||||||
home.packages = [
|
...
|
||||||
pkgs.hyprcursor
|
}: {
|
||||||
pkgs.wlogout
|
home.packages = [
|
||||||
pkgs.tofi
|
pkgs.hyprcursor
|
||||||
pkgs.killall
|
pkgs.wlogout
|
||||||
pkgs.grim
|
pkgs.tofi
|
||||||
pkgs.slurp
|
pkgs.killall
|
||||||
pkgs.wayclip
|
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
|
||||||
];
|
];
|
||||||
home.pointerCursor = {
|
general = {
|
||||||
enable = true;
|
gaps_in = 1;
|
||||||
name = "rose-pine-hyprcursor";
|
gaps_out = 1;
|
||||||
package = pkgs.rose-pine-hyprcursor;
|
border_size = 1;
|
||||||
hyprcursor.enable = true;
|
# "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";
|
||||||
};
|
};
|
||||||
wayland.windowManager.hyprland.settings = {
|
decoration = {
|
||||||
env = [
|
rounding = 4;
|
||||||
"XCURSOR_THEME,BreezeX-RosePine-Linux"
|
rounding_power = 1;
|
||||||
"XCURSOR_SIZE,24"
|
active_opacity = 1.0;
|
||||||
"HYPRCURSOR_SIZE,24"
|
inactive_opacity = 1.0;
|
||||||
"__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;
|
|
||||||
|
|
||||||
shadow = {
|
shadow = {
|
||||||
enabled = false;
|
enabled = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
blur = {
|
blur = {
|
||||||
enabled = true;
|
|
||||||
passes = 1;
|
|
||||||
new_optimizations = true;
|
|
||||||
ignore_opacity = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
cursor = {
|
|
||||||
no_hardware_cursors = true;
|
|
||||||
};
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
enabled = true;
|
||||||
bezier = [
|
passes = 1;
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
new_optimizations = true;
|
||||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
ignore_opacity = false;
|
||||||
"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;
|
cursor = {
|
||||||
preserve_split = true;
|
no_hardware_cursors = true;
|
||||||
};
|
};
|
||||||
# master = {
|
animations = {
|
||||||
# new_status = master;
|
enabled = true;
|
||||||
# };
|
bezier = [
|
||||||
misc = {
|
"easeOutQuint,0.23,1,0.32,1"
|
||||||
force_default_wallpaper = -1;
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||||
disable_hyprland_logo = false;
|
"linear,0,0,1,1"
|
||||||
enable_anr_dialog = false;
|
"almostLinear,0.5,0.5,0.75,1.0"
|
||||||
vfr = true;
|
"quick,0.15,0,0.1,1"
|
||||||
};
|
];
|
||||||
"$mainMod" = "SUPER";
|
animation = [
|
||||||
bind = [
|
"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 =
|
||||||
|
[
|
||||||
(
|
(
|
||||||
let
|
let
|
||||||
config = pkgs.writeTextFile {
|
config = pkgs.writeTextFile {
|
||||||
name = "config";
|
name = "config";
|
||||||
text = ''
|
text = ''
|
||||||
width = 100%
|
width = 100%
|
||||||
height = 100%
|
height = 100%
|
||||||
border-width = 0
|
border-width = 0
|
||||||
outline-width = 0
|
outline-width = 0
|
||||||
padding-left = 35%
|
padding-left = 35%
|
||||||
padding-top = 35%
|
padding-top = 35%
|
||||||
result-spacing = 25
|
result-spacing = 25
|
||||||
num-results = 5
|
num-results = 5
|
||||||
font = monospace
|
font = monospace
|
||||||
background-color = #000A
|
background-color = #000A
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
script = pkgs.writeShellScript "mreow" ''
|
script = pkgs.writeShellScript "mreow" ''
|
||||||
exec $(tofi-drun -c ${config})
|
exec $(tofi-drun -c ${config})
|
||||||
'';
|
'';
|
||||||
in
|
in "$mainMod, R, exec, ${script}"
|
||||||
"$mainMod, R, exec, ${script}"
|
|
||||||
)
|
)
|
||||||
"$mainMod, C, killactive"
|
"$mainMod, C, killactive"
|
||||||
"$mainMod, M, exec, uwsm stop"
|
"$mainMod, M, exec, uwsm stop"
|
||||||
"$mainMod, Q, exec, kitty"
|
"$mainMod, Q, exec, kitty"
|
||||||
"$mainMod, V, togglefloating,"
|
"$mainMod, V, togglefloating,"
|
||||||
"$mainMod, P, pseudo, # dwindle"
|
# "$mainMod, P, pseudo, # dwindle"
|
||||||
"$mainMod, J, togglesplit, # dwindle"
|
# "$mainMod, J, togglesplit, # dwindle"
|
||||||
"$mainMod, left, movefocus, l"
|
"$mainMod, left, movefocus, l"
|
||||||
"$mainMod, right, movefocus, r"
|
"$mainMod, right, movefocus, r"
|
||||||
"$mainMod, up, movefocus, u"
|
"$mainMod, up, movefocus, u"
|
||||||
@@ -146,10 +147,10 @@
|
|||||||
(
|
(
|
||||||
let
|
let
|
||||||
script = pkgs.writeShellScript "meow" ''
|
script = pkgs.writeShellScript "meow" ''
|
||||||
fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze'
|
fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze'
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
"$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'"
|
"$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'"
|
||||||
)
|
)
|
||||||
"$mainMod, F, fullscreen"
|
"$mainMod, F, fullscreen"
|
||||||
"$mainMod, mouse_down, workspace, e+1"
|
"$mainMod, mouse_down, workspace, e+1"
|
||||||
@@ -162,40 +163,39 @@
|
|||||||
]
|
]
|
||||||
++ (builtins.concatLists (
|
++ (builtins.concatLists (
|
||||||
builtins.genList (
|
builtins.genList (
|
||||||
i:
|
i: let
|
||||||
let
|
|
||||||
ws = i + 1;
|
ws = i + 1;
|
||||||
in
|
in [
|
||||||
[
|
|
||||||
"$mainMod, ${toString ws}, workspace, ${toString ws}"
|
"$mainMod, ${toString ws}, workspace, ${toString ws}"
|
||||||
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
|
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
|
||||||
]
|
]
|
||||||
) 9
|
)
|
||||||
|
9
|
||||||
));
|
));
|
||||||
bindm = [
|
bindm = [
|
||||||
"$mainMod, mouse:272, movewindow"
|
"$mainMod, mouse:272, movewindow"
|
||||||
"$mainMod, mouse:273, resizewindow"
|
"$mainMod, mouse:273, resizewindow"
|
||||||
];
|
];
|
||||||
windowrule = [
|
windowrule = [
|
||||||
"match:class .*, suppress_event maximize"
|
"match:class .*, suppress_event maximize"
|
||||||
"match:class ^(gamescope)$, workspace 5"
|
"match:class ^(gamescope)$, workspace 5"
|
||||||
"match:class ^(gamescope)$, immediate true"
|
"match:class ^(gamescope)$, immediate true"
|
||||||
"match:class ^(steam)$, workspace 6 silent"
|
"match:class ^(steam)$, workspace 6 silent"
|
||||||
"match:class ^(vesktop)$, workspace 8 silent"
|
"match:class ^(vesktop)$, workspace 8 silent"
|
||||||
"match:class ^(org.telegram.desktop)$, workspace 8 silent"
|
"match:class ^(org.telegram.desktop)$, workspace 8 silent"
|
||||||
"match:class ^(com.obsproject.Studio)$, workspace 10 silent"
|
"match:class ^(com.obsproject.Studio)$, workspace 10 silent"
|
||||||
"match:initial_title ^(OBS Studio Crash Detected)$, pin true"
|
"match:initial_title ^(OBS Studio Crash Detected)$, pin true"
|
||||||
"match:initial_title ^(Discord Popout)$, workspace 1 silent"
|
"match:initial_title ^(Discord Popout)$, workspace 1 silent"
|
||||||
];
|
];
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"match:namespace ^(notifications)$, no_screen_share true"
|
"match:namespace ^(notifications)$, no_screen_share true"
|
||||||
# "match:namespace ^(quickshell)$, blur true"
|
# "match:namespace ^(quickshell)$, blur true"
|
||||||
];
|
];
|
||||||
# exec-once = [
|
# exec-once = [
|
||||||
# ];
|
# ];
|
||||||
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
|
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+31
-32
@@ -1,36 +1,35 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
modules.nix = {
|
modules.nix = {
|
||||||
nixos =
|
nixos = {...}: {
|
||||||
{ ... }:
|
nixpkgs.config.allowUnfree = true;
|
||||||
{
|
nix.settings = {
|
||||||
nixpkgs.config.allowUnfree = true;
|
substituters = [
|
||||||
nix.settings = {
|
"https://hyprland.cachix.org"
|
||||||
substituters = [
|
"https://nix-community.cachix.org"
|
||||||
"https://hyprland.cachix.org"
|
"https://cache.nixos.org/"
|
||||||
"https://nix-community.cachix.org"
|
"https://attic.scug.io/pkgs"
|
||||||
"https://cache.nixos.org/"
|
"https://cache.nixos-cuda.org"
|
||||||
"https://attic.scug.io/pkgs"
|
"https://niri.cachix.org"
|
||||||
"https://cache.nixos-cuda.org"
|
"https://attic.xuyh0120.win/lantian"
|
||||||
"https://niri.cachix.org"
|
"https://nixos-raspberrypi.cachix.org"
|
||||||
"https://attic.xuyh0120.win/lantian"
|
];
|
||||||
];
|
trusted-public-keys = [
|
||||||
trusted-public-keys = [
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
|
||||||
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
|
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
||||||
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
|
||||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
|
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
|
||||||
];
|
];
|
||||||
experimental-features = [
|
experimental-features = [
|
||||||
"flakes"
|
"flakes"
|
||||||
"nix-command"
|
"nix-command"
|
||||||
];
|
];
|
||||||
trusted-users = [
|
trusted-users = [
|
||||||
"doloro"
|
"doloro"
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+357
-262
@@ -4,8 +4,7 @@
|
|||||||
lib,
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
# Its in its own folder for future modulizaion efforts
|
# Its in its own folder for future modulizaion efforts
|
||||||
flake-file.inputs = {
|
flake-file.inputs = {
|
||||||
nixvim = {
|
nixvim = {
|
||||||
@@ -15,288 +14,384 @@
|
|||||||
};
|
};
|
||||||
modules = {
|
modules = {
|
||||||
nixvim = {
|
nixvim = {
|
||||||
nixos =
|
nixos = {home-manager, ...}: {
|
||||||
{ 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"];
|
||||||
};
|
};
|
||||||
homeManager =
|
in {
|
||||||
{ pkgs, ... }:
|
imports = [
|
||||||
{
|
inputs.nixvim.homeModules.nixvim
|
||||||
imports = [
|
];
|
||||||
inputs.nixvim.homeModules.nixvim
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
colorschemes.gruvbox-material.enable = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
# formatters
|
||||||
|
alejandra
|
||||||
|
rustfmt
|
||||||
|
# misc
|
||||||
|
ripgrep
|
||||||
|
nixd
|
||||||
|
tree-sitter
|
||||||
|
rust-analyzer
|
||||||
];
|
];
|
||||||
programs.nixvim = {
|
performance.byteCompileLua = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
plugins = true;
|
||||||
nixpkgs = {
|
nvimRuntime = true;
|
||||||
config = {
|
luaLib = true;
|
||||||
allowUnfree = true;
|
configs = true;
|
||||||
};
|
};
|
||||||
};
|
plugins = {
|
||||||
colorschemes.gruvbox-material.enable = true;
|
todo-comments.enable = true;
|
||||||
extraPackages = with pkgs; [
|
lsp-status.enable = true;
|
||||||
# formatters
|
transparent.enable = true;
|
||||||
nixfmt
|
which-key.enable = true;
|
||||||
rustfmt
|
snacks.enable = true;
|
||||||
# misc
|
conform-nvim = {
|
||||||
ripgrep
|
|
||||||
# misc
|
|
||||||
nixd
|
|
||||||
tree-sitter
|
|
||||||
];
|
|
||||||
performance.byteCompileLua = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = true;
|
settings = {
|
||||||
nvimRuntime = true;
|
formatters_by_ft = {
|
||||||
luaLib = true;
|
nix = ["alejandra"];
|
||||||
configs = true;
|
rust = ["rustfmt"];
|
||||||
};
|
"_" = [
|
||||||
plugins = {
|
"squeeze_blanks"
|
||||||
todo-comments.enable = true;
|
"trim_whitespace"
|
||||||
lsp-status.enable = true;
|
"trim_newlines"
|
||||||
transparent.enable = true;
|
];
|
||||||
which-key.enable = true;
|
};
|
||||||
conform-nvim = {
|
format_on_save = {
|
||||||
enable = true;
|
timeout_ms = 500;
|
||||||
settings = {
|
lsp_format = "fallback";
|
||||||
formatters_by_ft = {
|
|
||||||
nix = [ "nixfmt" ];
|
|
||||||
rust = [ "rustfmt" ];
|
|
||||||
"_" = [
|
|
||||||
"squeeze_blanks"
|
|
||||||
"trim_whitespace"
|
|
||||||
"trim_newlines"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
format_on_save = {
|
|
||||||
timeout_ms = 500;
|
|
||||||
lsp_format = "fallback";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# efmls-configs = {
|
};
|
||||||
# enable = true;
|
# efmls-configs = {
|
||||||
# languages = {
|
# enable = true;
|
||||||
# scss = {
|
# languages = {
|
||||||
# formatter = "prettier";
|
# scss = {
|
||||||
# linter = "stylelint";
|
# formatter = "prettier";
|
||||||
# };
|
# linter = "stylelint";
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
lsp = {
|
# };
|
||||||
enable = true;
|
lsp = {
|
||||||
servers = {
|
enable = true;
|
||||||
qmlls = {
|
servers = {
|
||||||
enable = true;
|
qmlls = {
|
||||||
config = {
|
enable = true;
|
||||||
cmd = "-E";
|
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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
rust_analyzer = {
|
|
||||||
enable = true;
|
|
||||||
installCargo = false;
|
|
||||||
installRustc = false;
|
|
||||||
};
|
|
||||||
nixd = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
astro = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
ts_ls = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
cssls.enable = true;
|
|
||||||
svelte.enable = true;
|
|
||||||
};
|
};
|
||||||
};
|
astro = {
|
||||||
lsp-format = {
|
enable = true;
|
||||||
enable = true;
|
|
||||||
# lspServersToEnable = [ "qmlls" ];
|
|
||||||
};
|
|
||||||
notify = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
background_color = "#00000000";
|
|
||||||
};
|
};
|
||||||
};
|
ts_ls = {
|
||||||
mini-cursorword.enable = true;
|
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 = [ "lsp_status" ];
|
|
||||||
lualine_z = [ "location" ];
|
|
||||||
};
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = [ ];
|
|
||||||
lualine_b = [ ];
|
|
||||||
lualine_c = [ "filename" ];
|
|
||||||
lualine_x = [ "location" ];
|
|
||||||
lualine_y = [ ];
|
|
||||||
lualine_z = [ ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
cssls.enable = true;
|
||||||
|
svelte.enable = true;
|
||||||
};
|
};
|
||||||
web-devicons.enable = true;
|
};
|
||||||
vim-dadbod-completion.enable = true;
|
lsp-format = {
|
||||||
telescope.enable = true;
|
enable = true;
|
||||||
lazygit.enable = true;
|
# lspServersToEnable = [ "qmlls" ];
|
||||||
mini-indentscope = {
|
};
|
||||||
enable = true;
|
notify = {
|
||||||
settings = {
|
enable = true;
|
||||||
draw = {
|
settings = {
|
||||||
delay = 10;
|
background_color = "#00000000";
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
mini-files = {
|
};
|
||||||
enable = true;
|
mini-cursorword.enable = true;
|
||||||
settings = {
|
# mini-statusline.enable = true;
|
||||||
windows = {
|
lualine = {
|
||||||
preview = true;
|
enable = true;
|
||||||
};
|
settings = {
|
||||||
};
|
sections = {
|
||||||
};
|
lualine_a = ["mode"];
|
||||||
trouble.enable = true;
|
lualine_b = [
|
||||||
cmp = {
|
"branch"
|
||||||
enable = true;
|
"diff"
|
||||||
autoEnableSources = true;
|
"diagnostics"
|
||||||
settings = {
|
|
||||||
sources = [
|
|
||||||
{ name = "nvim_lsp"; }
|
|
||||||
{ name = "path"; }
|
|
||||||
{ name = "buffer"; }
|
|
||||||
];
|
];
|
||||||
mapping = {
|
lualine_c = ["filename"];
|
||||||
"<C-Space>" = "cmp.mapping.complete()";
|
lualine_x = [
|
||||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
"encoding"
|
||||||
"<C-e>" = "cmp.mapping.close()";
|
"fileformat"
|
||||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
"filetype"
|
||||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
];
|
||||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
lualine_y = ["progress"];
|
||||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
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";
|
||||||
|
};
|
||||||
|
documentation = {
|
||||||
|
border = "rounded";
|
||||||
|
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
lspkind.enable = true;
|
};
|
||||||
tiny-inline-diagnostic.enable = true;
|
lspkind.enable = true;
|
||||||
# persisted.enable = true;
|
tiny-inline-diagnostic.enable = true;
|
||||||
auto-session = {
|
# tiny-code-action.enable = true;
|
||||||
enable = false;
|
# persisted.enable = true;
|
||||||
settings = {
|
auto-session = {
|
||||||
enabled = true;
|
enable = false;
|
||||||
auto_save = true;
|
settings = {
|
||||||
auto_restore = true;
|
enabled = true;
|
||||||
};
|
auto_save = true;
|
||||||
};
|
auto_restore = true;
|
||||||
wakatime.enable = true;
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
|
|
||||||
bash
|
|
||||||
json
|
|
||||||
lua
|
|
||||||
make
|
|
||||||
markdown
|
|
||||||
rust
|
|
||||||
nix
|
|
||||||
regex
|
|
||||||
toml
|
|
||||||
vim
|
|
||||||
vimdoc
|
|
||||||
xml
|
|
||||||
yaml
|
|
||||||
svelte
|
|
||||||
];
|
|
||||||
settings = {
|
|
||||||
highlight.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraPlugins = with pkgs; [
|
wakatime.enable = true;
|
||||||
# vimPlugins.mini-completion
|
treesitter = {
|
||||||
vimPlugins.mini-comment
|
enable = true;
|
||||||
vimPlugins.melange-nvim
|
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
|
||||||
vimPlugins.telescope-file-browser-nvim
|
bash
|
||||||
vimPlugins.lsp-progress-nvim
|
css
|
||||||
];
|
html
|
||||||
opts = {
|
javascript
|
||||||
number = true;
|
json
|
||||||
bg = "dark";
|
lua
|
||||||
tabstop = 2;
|
make
|
||||||
shiftwidth = 2;
|
markdown
|
||||||
termguicolors = true;
|
rust
|
||||||
|
nix
|
||||||
|
regex
|
||||||
|
toml
|
||||||
|
tsx
|
||||||
|
typescript
|
||||||
|
vim
|
||||||
|
vimdoc
|
||||||
|
xml
|
||||||
|
yaml
|
||||||
|
svelte
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
highlight.enable = true;
|
||||||
|
indent.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
globals = {
|
|
||||||
mapleader = " ";
|
|
||||||
};
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
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>DiaglistToggle<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/6e389f6b800776b0595d9d90e42ebd04/.qmlls.ini
|
/run/user/1000/quickshell/vfs/ca6d8e2cdd46bffdf799708f31d409fa/.qmlls.ini
|
||||||
@@ -4,37 +4,62 @@
|
|||||||
modules,
|
modules,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
flake-file.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 = {
|
modules.raspberry-pi = {
|
||||||
provides = {
|
provides = {
|
||||||
"5" = {
|
"5" = {
|
||||||
nixos =
|
nixos = {pkgs, ...}: {
|
||||||
{ pkgs, ... }:
|
imports = [
|
||||||
let
|
# inputs.nixos-hardware.nixosModules.raspberry-pi-5
|
||||||
rpi-pi = inputs.raspberry-pi-nix;
|
inputs.nixos-raspberrypi.lib.inject-overlays-global
|
||||||
in
|
inputs.nixos-raspberrypi.nixosModules.trusted-nix-caches
|
||||||
{
|
inputs.nixos-raspberrypi.lib.inject-overlays
|
||||||
imports = [
|
|
||||||
rpi-pi.nixosModules.raspberry-pi
|
|
||||||
rpi-pi.nixosModules.sd-image
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.base
|
||||||
libraspberrypi
|
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;
|
inputs.nixos-raspberrypi.nixosModules.sd-image
|
||||||
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;
|
|
||||||
|
|
||||||
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"];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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."dockerRegistry.h.doloro.co.uk".extraConfig = ''
|
||||||
|
reverse_proxy :5000
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
flake-file.inputs = {
|
flake-file.inputs = {
|
||||||
x1e-kernel.url = "git+https://git.scug.io/doloro/x1e-nixos.git?ref=bump-7.1-rc1";
|
x1e-kernel.url = "git+https://git.scug.io/nikkuss/x1e-nixos.git";
|
||||||
};
|
};
|
||||||
modules.surface-patches = {
|
modules.surface-patches = {
|
||||||
nixos =
|
nixos =
|
||||||
|
|||||||
+20
-18
@@ -1,22 +1,24 @@
|
|||||||
{ modules, ... }:
|
{modules, ...}: {
|
||||||
{
|
|
||||||
modules.tmux = {
|
modules.tmux = {
|
||||||
homeManager =
|
homeManager = {
|
||||||
{ home, pkgs, ... }:
|
home,
|
||||||
{
|
pkgs,
|
||||||
programs.tmux = {
|
...
|
||||||
enable = true;
|
}: {
|
||||||
plugins = with pkgs.tmuxPlugins; [
|
programs.tmux = {
|
||||||
sensible
|
enable = true;
|
||||||
minimal-tmux-status
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
];
|
sensible
|
||||||
extraConfig = ''
|
minimal-tmux-status
|
||||||
set-option -g default-terminal "xterm-256color"
|
];
|
||||||
set -a terminal-features "xterm-256color:RGB"
|
extraConfig = ''
|
||||||
set -g status-bg black
|
set-option -g default-terminal "tmux-256color"
|
||||||
set -g status-fg white
|
set -as terminal-features ",xterm-256color:RGB"
|
||||||
'';
|
set -g status-bg black
|
||||||
};
|
set -g status-fg white
|
||||||
|
set -g mouse on
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
users.users.${user.userName} = {
|
users.users.${user.userName} = {
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
|
"libvirtd"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
+380
-216
File diff suppressed because it is too large
Load Diff
@@ -30,9 +30,13 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
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";
|
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
|
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=main";
|
||||||
|
raspberry-pi-nix.url = "github:cmyk/raspberry-pi-nix";
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -42,7 +46,7 @@
|
|||||||
url = "github:nix-community/stylix";
|
url = "github:nix-community/stylix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
x1e-kernel.url = "git+https://git.scug.io/doloro/x1e-nixos.git?ref=bump-7.1-rc1";
|
x1e-kernel.url = "git+https://git.scug.io/nikkuss/x1e-nixos.git";
|
||||||
zen-browser = {
|
zen-browser = {
|
||||||
url = "github:youwen5/zen-browser-flake";
|
url = "github:youwen5/zen-browser-flake";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|||||||
Reference in New Issue
Block a user