formatted the code with alejandra

This commit is contained in:
2024-03-03 02:11:14 +05:30
parent 0528e06873
commit ef89207879
34 changed files with 1035 additions and 976 deletions

179
flake.nix
View File

@ -16,100 +16,103 @@
nur.url = "github:nix-community/nur"; nur.url = "github:nix-community/nur";
}; };
outputs = { self, nixpkgs, home-manager, ... } @ inputs: outputs = {
let self,
inherit (self) outputs; nixpkgs,
forAllSystems = nixpkgs.lib.genAttrs [ home-manager,
"x86_64-linux" ...
]; } @ inputs: let
username = "tux"; inherit (self) outputs;
in forAllSystems = nixpkgs.lib.genAttrs [
{ "x86_64-linux"
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); ];
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); username = "tux";
in {
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
# Custom packages and modifications, exported as overlays # Custom packages and modifications, exported as overlays
overlays = import ./overlays { inherit inputs; }; overlays = import ./overlays {inherit inputs;};
# NixOS configuration entrypoint # NixOS configuration entrypoint
# 'nixos-rebuild switch --flake .#your-hostname' # 'nixos-rebuild switch --flake .#your-hostname'
nixosConfigurations = { nixosConfigurations = {
canopus = nixpkgs.lib.nixosSystem { canopus = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs username; }; specialArgs = {inherit inputs outputs username;};
modules = [ modules = [
./hosts/canopus ./hosts/canopus
./modules/nixos/desktop/awesome ./modules/nixos/desktop/awesome
./modules/nixos/desktop/hyprland ./modules/nixos/desktop/hyprland
./modules/nixos/virtualisation ./modules/nixos/virtualisation
./modules/nixos/steam.nix ./modules/nixos/steam.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs outputs username; }; home-manager.extraSpecialArgs = {inherit inputs outputs username;};
home-manager.users.${username} = { home-manager.users.${username} = {
imports = [ imports = [
./modules/home-manager ./modules/home-manager
./modules/home-manager/hyprland ./modules/home-manager/hyprland
./modules/home-manager/waybar ./modules/home-manager/waybar
./home/tux ./home/tux
]; ];
}; };
} }
]; ];
};
controller = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs username; };
modules = [
./hosts/controller
./modules/nixos/headscale.nix
home-manager.nixosModules.home-manager
{
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs outputs username; };
home-manager.users.${username} = {
imports = [
./modules/home-manager
./home/tux
];
};
}
];
};
wsl = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs username; };
modules = [
./hosts/wsl
home-manager.nixosModules.home-manager
{
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs outputs username; };
home-manager.users.${username} = {
imports = [
./modules/home-manager
./home/tux
];
};
}
];
};
}; };
# Standalone home-manager configuration entrypoint controller = nixpkgs.lib.nixosSystem {
# home-manager switch --flake .#your-username@your-hostname' specialArgs = {inherit inputs outputs username;};
homeConfigurations = { modules = [
"${username}@canopus" = home-manager.lib.homeManagerConfiguration { ./hosts/controller
pkgs = nixpkgs.legacyPackages.x86_64-linux; ./modules/nixos/headscale.nix
extraSpecialArgs = { inherit inputs outputs username; };
modules = [ home-manager.nixosModules.home-manager
./modules/home-manager {
]; home-manager.useUserPackages = true;
}; home-manager.extraSpecialArgs = {inherit inputs outputs username;};
home-manager.users.${username} = {
imports = [
./modules/home-manager
./home/tux
];
};
}
];
};
wsl = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs username;};
modules = [
./hosts/wsl
home-manager.nixosModules.home-manager
{
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs outputs username;};
home-manager.users.${username} = {
imports = [
./modules/home-manager
./home/tux
];
};
}
];
}; };
}; };
# Standalone home-manager configuration entrypoint
# home-manager switch --flake .#your-username@your-hostname'
homeConfigurations = {
"${username}@canopus" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {inherit inputs outputs username;};
modules = [
./modules/home-manager
];
};
};
};
} }

View File

@ -1,4 +1,12 @@
{ inputs, outputs, lib, config, pkgs, username, ... }: { {
inputs,
outputs,
lib,
config,
pkgs,
username,
...
}: {
imports = [ imports = [
inputs.nixos-hardware.nixosModules.asus-zephyrus-ga503 inputs.nixos-hardware.nixosModules.asus-zephyrus-ga503
./hardware-configuration.nix ./hardware-configuration.nix
@ -46,19 +54,25 @@
networkmanager.enable = true; networkmanager.enable = true;
firewall = { firewall = {
enable = true; enable = true;
allowedTCPPorts = [ 80 443 3000 6666 ]; allowedTCPPorts = [80 443 3000 6666 8081];
allowedTCPPortRanges = [ allowedTCPPortRanges = [
{ from = 1714; to = 1764; } {
from = 1714;
to = 1764;
}
]; ];
allowedUDPPortRanges = [ allowedUDPPortRanges = [
{ from = 1714; to = 1764; } {
from = 1714;
to = 1764;
}
]; ];
}; };
}; };
boot = { boot = {
kernelPackages = pkgs.linuxPackages_zen; kernelPackages = pkgs.linuxPackages_zen;
supportedFilesystems = [ "ntfs" ]; supportedFilesystems = ["ntfs"];
initrd.systemd.enable = true; initrd.systemd.enable = true;
loader = { loader = {
@ -89,9 +103,9 @@
user = { user = {
services.polkit-gnome-authentication-agent-1 = { services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1"; description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ]; wantedBy = ["graphical-session.target"];
wants = [ "graphical-session.target" ]; wants = ["graphical-session.target"];
after = [ "graphical-session.target" ]; after = ["graphical-session.target"];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
@ -108,7 +122,7 @@
zsh.enable = true; zsh.enable = true;
thunar = { thunar = {
enable = true; enable = true;
plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]; plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
}; };
nix-ld.enable = true; nix-ld.enable = true;
nm-applet.enable = true; nm-applet.enable = true;
@ -119,7 +133,7 @@
users.${username} = { users.${username} = {
initialPassword = "${username}"; initialPassword = "${username}";
isNormalUser = true; isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "storage" ]; extraGroups = ["networkmanager" "wheel" "storage"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me''
]; ];
@ -215,7 +229,7 @@
ollama.enable = true; ollama.enable = true;
}; };
fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; fonts.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode" "JetBrainsMono"];})];
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

View File

@ -1,15 +1,21 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { {
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/e79e5cdf-4197-4f44-96c7-3ab9ba9878bb"; device = "/dev/disk/by-uuid/e79e5cdf-4197-4f44-96c7-3ab9ba9878bb";
@ -21,7 +27,7 @@
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@ -1,6 +1,12 @@
{ config, outputs, lib, pkgs, inputs, username, ... }:
{ {
config,
outputs,
lib,
pkgs,
inputs,
username,
...
}: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -64,17 +70,17 @@
users.${username} = { users.${username} = {
initialPassword = "${username}"; initialPassword = "${username}";
isNormalUser = true; isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "storage" ]; extraGroups = ["networkmanager" "wheel" "storage"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me''
]; ];
}; };
}; };
environment.systemPackages = with pkgs;[ environment.systemPackages = with pkgs; [
]; ];
fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; fonts.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode" "JetBrainsMono"];})];
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

View File

@ -1,32 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ lib,
(modulesPath + "/profiles/qemu-guest.nix") pkgs,
]; modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ ]; boot.kernelModules = [];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/b5a9a9f6-be72-4520-b2ac-439d0479a34b";
device = "/dev/disk/by-uuid/b5a9a9f6-be72-4520-b2ac-439d0479a34b"; fsType = "ext4";
fsType = "ext4"; };
};
fileSystems."/efi" = fileSystems."/efi" = {
{ device = "systemd-1";
device = "systemd-1"; fsType = "autofs";
fsType = "autofs"; };
};
swapDevices = [ ]; swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@ -1,6 +1,11 @@
{ config, lib, pkgs, inputs, username, ... }:
{ {
config,
lib,
pkgs,
inputs,
username,
...
}: {
imports = [ imports = [
inputs.nixos-wsl.nixosModules.wsl inputs.nixos-wsl.nixosModules.wsl
]; ];
@ -32,16 +37,16 @@
users.${username} = { users.${username} = {
initialPassword = "${username}"; initialPassword = "${username}";
isNormalUser = true; isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "storage" ]; extraGroups = ["networkmanager" "wheel" "storage"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me''
]; ];
}; };
}; };
environment.systemPackages = with pkgs;[ ]; environment.systemPackages = with pkgs; [];
fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; }) ]; fonts.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode" "JetBrainsMono"];})];
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;

View File

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
# services.barrier.client.enable = true; # services.barrier.client.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [

View File

@ -1,5 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.rbw = { programs.rbw = {
enable = true; enable = true;
settings = { settings = {

View File

@ -1,4 +1,12 @@
{ inputs, outputs, lib, config, pkgs, username, ... }: { {
inputs,
outputs,
lib,
config,
pkgs,
username,
...
}: {
imports = [ imports = [
./picom ./picom
./shell ./shell

View File

@ -1,4 +1,9 @@
{ pkgs, inputs, username, ... }: { {
pkgs,
inputs,
username,
...
}: {
programs.firefox = { programs.firefox = {
enable = true; enable = true;

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.git = { programs.git = {
enable = true; enable = true;
userName = "0xTux"; userName = "0xTux";

View File

@ -1,5 +1,8 @@
{ lib, pkgs, ... }: { {
lib,
pkgs,
...
}: {
programs = { programs = {
waybar = { waybar = {
enable = true; enable = true;
@ -9,276 +12,271 @@
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
settings = settings = let
let # Notify
# Notify notifycmd = "notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low";
notifycmd = "notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low";
# Elements # Elements
hypr_border_size = 2; hypr_border_size = 2;
hypr_gaps_in = 5; hypr_gaps_in = 5;
hypr_gaps_out = 10; hypr_gaps_out = 10;
hypr_gaps_ws = -10; hypr_gaps_ws = -10;
hypr_rounding = 10; hypr_rounding = 10;
groupbar_font_family = "Iosevka"; groupbar_font_family = "Iosevka";
groupbar_font_size = 10; groupbar_font_size = 10;
# Colors # Colors
active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
active_shadow_col = "0x66000000"; active_shadow_col = "0x66000000";
inactive_shadow_col = "0x66000000"; inactive_shadow_col = "0x66000000";
group_border_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; group_border_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
group_border_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; group_border_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
group_border_locked_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; group_border_locked_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
group_border_locked_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; group_border_locked_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
groupbar_text_color = "0xFFf1fcf9"; groupbar_text_color = "0xFFf1fcf9";
in in {
{ #-- General
#-- General general = {
general = { border_size = hypr_border_size;
border_size = hypr_border_size; gaps_in = hypr_gaps_in;
gaps_in = hypr_gaps_in; gaps_out = hypr_gaps_out;
gaps_out = hypr_gaps_out; gaps_workspaces = hypr_gaps_ws;
gaps_workspaces = hypr_gaps_ws; "col.active_border" = active_border_col;
"col.active_border" = active_border_col; "col.inactive_border" = inactive_border_col;
"col.inactive_border" = inactive_border_col; layout = "master";
layout = "master"; resize_on_border = true;
resize_on_border = true; };
};
#-- Decoration #-- Decoration
decoration = { decoration = {
rounding = hypr_rounding; rounding = hypr_rounding;
active_opacity = 0.75; active_opacity = 0.75;
inactive_opacity = 0.75; inactive_opacity = 0.75;
fullscreen_opacity = 1.0; fullscreen_opacity = 1.0;
drop_shadow = true; drop_shadow = true;
shadow_range = 25; shadow_range = 25;
shadow_render_power = 3; shadow_render_power = 3;
"col.shadow" = active_shadow_col; "col.shadow" = active_shadow_col;
"col.shadow_inactive" = inactive_shadow_col; "col.shadow_inactive" = inactive_shadow_col;
blur = { blur = {
enabled = true;
size = 5;
passes = 4;
ignore_opacity = true;
xray = true;
special = true;
};
};
#-- Animations
animations = {
enabled = true; enabled = true;
first_launch_animation = true; size = 5;
animation = [ passes = 4;
"windowsIn,1,5,default,popin 0%" ignore_opacity = true;
"windowsOut,1,5,default,popin" xray = true;
"windowsMove,1,5,default,slide" special = true;
"fadeIn,1,8,default"
"fadeOut,1,8,default"
"fadeSwitch,1,8,default"
"fadeShadow,1,8,default"
"fadeDim,1,8,default"
"border,1,10,default"
"borderangle,1,10,default"
"workspaces,1,5,default,slide"
"specialWorkspace,1,5,default,fade"
];
}; };
};
#-- Input: Keyboard, Mouse, Touchpad #-- Animations
input = { animations = {
sensitivity = 0.5; enabled = true;
scroll_method = "2 fg"; first_launch_animation = true;
natural_scroll = true; animation = [
touchpad = { "windowsIn,1,5,default,popin 0%"
natural_scroll = true; "windowsOut,1,5,default,popin"
clickfinger_behavior = false; "windowsMove,1,5,default,slide"
}; "fadeIn,1,8,default"
}; "fadeOut,1,8,default"
"fadeSwitch,1,8,default"
#-- Group "fadeShadow,1,8,default"
group = { "fadeDim,1,8,default"
"col.border_active" = group_border_active_col; "border,1,10,default"
"col.border_inactive" = group_border_inactive_col; "borderangle,1,10,default"
"col.border_locked_active" = group_border_locked_active_col; "workspaces,1,5,default,slide"
"col.border_locked_inactive" = group_border_locked_inactive_col; "specialWorkspace,1,5,default,fade"
groupbar = {
enabled = true;
font_family = groupbar_font_family;
font_size = groupbar_font_size;
text_color = groupbar_text_color;
"col.active" = group_border_active_col;
"col.inactive" = group_border_inactive_col;
"col.locked_active" = group_border_locked_active_col;
"col.locked_inactive" = group_border_locked_inactive_col;
};
};
#-- Miscellaneous
misc = {
disable_hyprland_logo = true;
force_hypr_chan = false;
force_default_wallpaper = 0;
focus_on_activate = true;
no_direct_scanout = false;
background_color = "0x000000";
};
#-- Output
monitor = ",preferred,auto,1";
#-- Layout : Dwindle
dwindle = {
pseudotile = false;
force_split = 0;
preserve_split = false;
smart_split = false;
smart_resizing = true;
permanent_direction_override = false;
special_scale_factor = 0.8;
split_width_multiplier = 1.0;
no_gaps_when_only = false;
use_active_for_splits = true;
default_split_ratio = 1.0;
};
#-- Layout : Master
master = {
allow_small_split = false;
special_scale_factor = 0.8;
mfact = 0.5;
new_is_master = false;
new_on_top = false;
no_gaps_when_only = false;
orientation = "left";
inherit_fullscreen = true;
always_center_master = false;
smart_resizing = true;
drop_at_cursor = true;
};
#-- Window Rules
windowrule = [ ];
#-- Keybindings
bind =
let
terminal = "alacritty";
browser = "firefox";
filemanager = "thunar";
editor = "geany";
in
[
# groups
"SUPER, G, togglegroup"
"SUPER, G, exec, ${notifycmd} 'Toggled Group Mode'"
"SUPER, H, changegroupactive, b"
"SUPER, L, changegroupactive, f"
"SUPER_SHIFT, L, lockactivegroup, toggle"
"SUPER_SHIFT, L, exec, ${notifycmd} 'Toggled Group Lock'"
# terminal
"SUPER, Return, exec, ${terminal}"
# apps
"SUPER_SHIFT, F, exec, ${filemanager}"
"SUPER_SHIFT, E, exec, ${editor}"
"SUPER_SHIFT, B, exec, ${browser}"
# hyprland
"SUPER, Q, killactive,"
"SUPER, C, killactive,"
"CTRL_ALT, Delete, exit,"
"SUPER, F, fullscreen, 0"
"SUPER, F, exec, ${notifycmd} 'Fullscreen Mode'"
"SUPER, S, pseudo,"
"SUPER, S, exec, ${notifycmd} 'Pseudo Mode'"
"SUPER, Space, togglefloating,"
"SUPER, Space, centerwindow,"
# change focus
"SUPER, left, movefocus, l"
"SUPER, right, movefocus, r"
"SUPER, up, movefocus, u"
"SUPER, down, movefocus, d"
# move active
"SUPER_SHIFT, left, movewindow, l"
"SUPER_SHIFT, right, movewindow, r"
"SUPER_SHIFT, up, movewindow, u"
"SUPER_SHIFT, down, movewindow, d"
# switch between windows
"SUPER,Tab,cyclenext,"
"SUPER,Tab,bringactivetotop,"
# workspaces
"SUPER, 1, workspace, 1"
"SUPER, 2, workspace, 2"
"SUPER, 3, workspace, 3"
"SUPER, 4, workspace, 4"
"SUPER, 5, workspace, 5"
"SUPER, 6, workspace, 6"
"SUPER, 7, workspace, 7"
"SUPER, 8, workspace, 8"
# send to workspaces
"SUPER_SHIFT, 1, movetoworkspace, 1"
"SUPER_SHIFT, 2, movetoworkspace, 2"
"SUPER_SHIFT, 3, movetoworkspace, 3"
"SUPER_SHIFT, 4, movetoworkspace, 4"
"SUPER_SHIFT, 5, movetoworkspace, 5"
"SUPER_SHIFT, 6, movetoworkspace, 6"
"SUPER_SHIFT, 7, movetoworkspace, 7"
"SUPER_SHIFT, 8, movetoworkspace, 8"
# seamless workspace switching
"CTRL_ALT, left, workspace, e-1"
"CTRL_ALT, right, workspace, e+1"
"CTRL_ALT_SHIFT, left, movetoworkspace, e-1"
"CTRL_ALT_SHIFT, right, movetoworkspace, e+1"
# change workspace mode
"SUPER_CTRL, F, workspaceopt, allfloat"
"SUPER_CTRL, F, exec, ${notifycmd} 'Toggled All Float Mode'"
"SUPER_CTRL, S, workspaceopt, allpseudo"
"SUPER_CTRL, S, exec, ${notifycmd} 'Toggled All Pseudo Mode'"
# misc
"SUPER_SHIFT, P, pin,"
"SUPER_SHIFT, P, exec, ${notifycmd} 'Toggled Pin'"
"SUPER_SHIFT, S, swapnext"
"SUPER_SHIFT, O, toggleopaque"
];
binde = [
# resize active
"SUPER_CTRL, left, resizeactive, -20 0"
"SUPER_CTRL, right, resizeactive, 20 0"
"SUPER_CTRL, up, resizeactive, 0 -20"
"SUPER_CTRL, down, resizeactive, 0 20"
# move active (Floating Only)
"SUPER_ALT, left, moveactive, -20 0"
"SUPER_ALT, right, moveactive, 20 0"
"SUPER_ALT, up, moveactive, 0 -20"
"SUPER_ALT, down, moveactive, 0 20"
];
bindm = [
# mouse buttons
"SUPER, mouse:272, movewindow"
"SUPER, mouse:273, resizewindow"
];
"exec-once" = [
"${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/moments_before_desk.png"
"waybar"
]; ];
}; };
#-- Input: Keyboard, Mouse, Touchpad
input = {
sensitivity = 0.5;
scroll_method = "2 fg";
natural_scroll = true;
touchpad = {
natural_scroll = true;
clickfinger_behavior = false;
};
};
#-- Group
group = {
"col.border_active" = group_border_active_col;
"col.border_inactive" = group_border_inactive_col;
"col.border_locked_active" = group_border_locked_active_col;
"col.border_locked_inactive" = group_border_locked_inactive_col;
groupbar = {
enabled = true;
font_family = groupbar_font_family;
font_size = groupbar_font_size;
text_color = groupbar_text_color;
"col.active" = group_border_active_col;
"col.inactive" = group_border_inactive_col;
"col.locked_active" = group_border_locked_active_col;
"col.locked_inactive" = group_border_locked_inactive_col;
};
};
#-- Miscellaneous
misc = {
disable_hyprland_logo = true;
force_hypr_chan = false;
force_default_wallpaper = 0;
focus_on_activate = true;
no_direct_scanout = false;
background_color = "0x000000";
};
#-- Output
monitor = ",preferred,auto,1";
#-- Layout : Dwindle
dwindle = {
pseudotile = false;
force_split = 0;
preserve_split = false;
smart_split = false;
smart_resizing = true;
permanent_direction_override = false;
special_scale_factor = 0.8;
split_width_multiplier = 1.0;
no_gaps_when_only = false;
use_active_for_splits = true;
default_split_ratio = 1.0;
};
#-- Layout : Master
master = {
allow_small_split = false;
special_scale_factor = 0.8;
mfact = 0.5;
new_is_master = false;
new_on_top = false;
no_gaps_when_only = false;
orientation = "left";
inherit_fullscreen = true;
always_center_master = false;
smart_resizing = true;
drop_at_cursor = true;
};
#-- Window Rules
windowrule = [];
#-- Keybindings
bind = let
terminal = "alacritty";
browser = "firefox";
filemanager = "thunar";
editor = "geany";
in [
# groups
"SUPER, G, togglegroup"
"SUPER, G, exec, ${notifycmd} 'Toggled Group Mode'"
"SUPER, H, changegroupactive, b"
"SUPER, L, changegroupactive, f"
"SUPER_SHIFT, L, lockactivegroup, toggle"
"SUPER_SHIFT, L, exec, ${notifycmd} 'Toggled Group Lock'"
# terminal
"SUPER, Return, exec, ${terminal}"
# apps
"SUPER_SHIFT, F, exec, ${filemanager}"
"SUPER_SHIFT, E, exec, ${editor}"
"SUPER_SHIFT, B, exec, ${browser}"
# hyprland
"SUPER, Q, killactive,"
"SUPER, C, killactive,"
"CTRL_ALT, Delete, exit,"
"SUPER, F, fullscreen, 0"
"SUPER, F, exec, ${notifycmd} 'Fullscreen Mode'"
"SUPER, S, pseudo,"
"SUPER, S, exec, ${notifycmd} 'Pseudo Mode'"
"SUPER, Space, togglefloating,"
"SUPER, Space, centerwindow,"
# change focus
"SUPER, left, movefocus, l"
"SUPER, right, movefocus, r"
"SUPER, up, movefocus, u"
"SUPER, down, movefocus, d"
# move active
"SUPER_SHIFT, left, movewindow, l"
"SUPER_SHIFT, right, movewindow, r"
"SUPER_SHIFT, up, movewindow, u"
"SUPER_SHIFT, down, movewindow, d"
# switch between windows
"SUPER,Tab,cyclenext,"
"SUPER,Tab,bringactivetotop,"
# workspaces
"SUPER, 1, workspace, 1"
"SUPER, 2, workspace, 2"
"SUPER, 3, workspace, 3"
"SUPER, 4, workspace, 4"
"SUPER, 5, workspace, 5"
"SUPER, 6, workspace, 6"
"SUPER, 7, workspace, 7"
"SUPER, 8, workspace, 8"
# send to workspaces
"SUPER_SHIFT, 1, movetoworkspace, 1"
"SUPER_SHIFT, 2, movetoworkspace, 2"
"SUPER_SHIFT, 3, movetoworkspace, 3"
"SUPER_SHIFT, 4, movetoworkspace, 4"
"SUPER_SHIFT, 5, movetoworkspace, 5"
"SUPER_SHIFT, 6, movetoworkspace, 6"
"SUPER_SHIFT, 7, movetoworkspace, 7"
"SUPER_SHIFT, 8, movetoworkspace, 8"
# seamless workspace switching
"CTRL_ALT, left, workspace, e-1"
"CTRL_ALT, right, workspace, e+1"
"CTRL_ALT_SHIFT, left, movetoworkspace, e-1"
"CTRL_ALT_SHIFT, right, movetoworkspace, e+1"
# change workspace mode
"SUPER_CTRL, F, workspaceopt, allfloat"
"SUPER_CTRL, F, exec, ${notifycmd} 'Toggled All Float Mode'"
"SUPER_CTRL, S, workspaceopt, allpseudo"
"SUPER_CTRL, S, exec, ${notifycmd} 'Toggled All Pseudo Mode'"
# misc
"SUPER_SHIFT, P, pin,"
"SUPER_SHIFT, P, exec, ${notifycmd} 'Toggled Pin'"
"SUPER_SHIFT, S, swapnext"
"SUPER_SHIFT, O, toggleopaque"
];
binde = [
# resize active
"SUPER_CTRL, left, resizeactive, -20 0"
"SUPER_CTRL, right, resizeactive, 20 0"
"SUPER_CTRL, up, resizeactive, 0 -20"
"SUPER_CTRL, down, resizeactive, 0 20"
# move active (Floating Only)
"SUPER_ALT, left, moveactive, -20 0"
"SUPER_ALT, right, moveactive, 20 0"
"SUPER_ALT, up, moveactive, 0 -20"
"SUPER_ALT, down, moveactive, 0 20"
];
bindm = [
# mouse buttons
"SUPER, mouse:272, movewindow"
"SUPER, mouse:273, resizewindow"
];
"exec-once" = [
"${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/moments_before_desk.png"
"waybar"
];
};
}; };
} }

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services.kdeconnect = { services.kdeconnect = {
enable = true; enable = true;
indicator = true; indicator = true;

View File

@ -1,5 +1,8 @@
{ inputs, pkgs, ... }: { {
inputs,
pkgs,
...
}: {
# fix nvchad # fix nvchad
# xdg.configFile."nvim" = { # xdg.configFile."nvim" = {
# source = "${pkgs.nvchad}"; # source = "${pkgs.nvchad}";

View File

@ -1,4 +1,8 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
services.picom = { services.picom = {
enable = true; enable = true;
package = pkgs.picom-next; package = pkgs.picom-next;
@ -8,7 +12,7 @@
fade = true; fade = true;
fadeDelta = 10; fadeDelta = 10;
fadeSteps = [ 0.05 0.05 ]; fadeSteps = [0.05 0.05];
fadeExclude = [ fadeExclude = [
"window_type *= 'menu'" "window_type *= 'menu'"
]; ];
@ -36,7 +40,7 @@
corner-radius = 0; corner-radius = 0;
# pijulius specifics # pijulius specifics
animations = true; animations = true;
animation-stiffness = 500; animation-stiffness = 500;
animation-window-mass = 1.0; animation-window-mass = 1.0;

View File

@ -1,321 +1,317 @@
{ config, ... }: { {config, ...}: {
programs.rofi = programs.rofi = {
{ enable = true;
enable = true; extraConfig = {
extraConfig = terminal = "alacritty";
{
terminal = "alacritty";
modes = "combi,keys"; modes = "combi,keys";
display-window = "window"; display-window = "window";
display-drun = "run"; display-drun = "run";
display-windowcd = "windowcd"; display-windowcd = "windowcd";
display-run = "run"; display-run = "run";
display-ssh = "ssh"; display-ssh = "ssh";
display-combi = "combi"; display-combi = "combi";
display-keys = "keys"; display-keys = "keys";
display-filebrowser = "filebrowser"; display-filebrowser = "filebrowser";
combi-modes = "window,drun"; combi-modes = "window,drun";
combi-hide-mode-prefix = false; combi-hide-mode-prefix = false;
combi-display-format = "<i>{mode}</i> {text}"; combi-display-format = "<i>{mode}</i> {text}";
window-format = "<span fgalpha='65%'>[{w=-1}] </span><b>{c=-1}</b> <span weight='light' fgalpha='65%' size='small'>{t=-1}</span>"; window-format = "<span fgalpha='65%'>[{w=-1}] </span><b>{c=-1}</b> <span weight='light' fgalpha='65%' size='small'>{t=-1}</span>";
window-thumbnail = false; window-thumbnail = false;
drun-url-launcher = "xdg-open"; drun-url-launcher = "xdg-open";
drun-match-fields = "name,generic,exec,categories,keywords"; drun-match-fields = "name,generic,exec,categories,keywords";
drun-display-format = "<b>{name}</b>[ <span weight='light' size='small'><i>({generic})</i></span>][ <span weight='light' fgalpha='65%' size='small'>{exec}</span>]"; drun-display-format = "<b>{name}</b>[ <span weight='light' size='small'><i>({generic})</i></span>][ <span weight='light' fgalpha='65%' size='small'>{exec}</span>]";
drun-show-actions = true; drun-show-actions = true;
run-command = "{cmd}"; run-command = "{cmd}";
run-list-command = ""; run-list-command = "";
run-shell-command = "{terminal} -e {cmd}"; run-shell-command = "{terminal} -e {cmd}";
matching = "normal"; matching = "normal";
font = "JetBrains Mono 11"; font = "JetBrains Mono 11";
show-icons = true; show-icons = true;
scroll-method = 0; scroll-method = 0;
cycle = false; cycle = false;
fixed-num-lines = false; fixed-num-lines = false;
};
theme =
let
inherit (config.lib.formats.rasi) mkLiteral;
in
{
"*" = {
font = "JetBrains Mono 11";
black = mkLiteral "#1d1f21";
white = mkLiteral "#c5c8c6";
red = mkLiteral "#cc6666";
orange = mkLiteral "#de935f";
yellow = mkLiteral "#f0c674";
green = mkLiteral "#7cb36b";
cyan = mkLiteral "#78bab9";
blue = mkLiteral "#81a2be";
magenta = mkLiteral "#b294bb";
black-bright = mkLiteral "#3c4044";
white-bright = mkLiteral "#eaeaea";
red-bright = mkLiteral "#d54e53";
orange-bright = mkLiteral "#e78c45";
yellow-bright = mkLiteral "#e7c547";
green-bright = mkLiteral "#71c464";
cyan-bright = mkLiteral "#6acdcc";
blue-bright = mkLiteral "#7aa6da";
magenta-bright = mkLiteral "#c397d8";
black-66 = mkLiteral "#131415";
white-66 = mkLiteral "#828382";
red-66 = mkLiteral "#864343";
orange-66 = mkLiteral "#92613e";
yellow-66 = mkLiteral "#9e824c";
green-66 = mkLiteral "#517646";
cyan-66 = mkLiteral "#4f7a7a";
blue-66 = mkLiteral "#556a7d";
magenta-66 = mkLiteral "#75617b";
black-33 = mkLiteral "#090a0a";
white-33 = mkLiteral "#414141";
red-33 = mkLiteral "#432121";
orange-33 = mkLiteral "#49301f";
yellow-33 = mkLiteral "#4f4126";
green-33 = mkLiteral "#283b23";
cyan-33 = mkLiteral "#273d3d";
blue-33 = mkLiteral "#2a353e";
magenta-33 = mkLiteral "#3a303d";
common-background = mkLiteral "@black";
common-background-bright = mkLiteral "@black-bright";
common-background-66 = " @black-66";
common-foreground = mkLiteral "@white";
common-foreground-bright = mkLiteral "@white-bright";
common-foreground-66 = mkLiteral "@white-66";
common-primary = mkLiteral "@yellow";
common-primary-bright = mkLiteral "@yellow-bright";
common-primary-66 = mkLiteral "@yellow-66";
common-primary-33 = mkLiteral "@yellow-33";
common-secondary = mkLiteral "@blue";
common-secondary-bright = mkLiteral "@blue-bright";
common-secondary-66 = mkLiteral "@blue-66";
common-secondary-33 = mkLiteral "@blue-33";
common-urgent = mkLiteral "@red";
common-urgent-bright = mkLiteral "@red-bright";
common-urgent-66 = mkLiteral "@red-66";
common-urgent-33 = mkLiteral "@red-33";
background-color = mkLiteral "transparent";
normal-normal-background = mkLiteral "transparent";
normal-normal-foreground = mkLiteral "@common-foreground";
normal-normal-border-color = mkLiteral "transparent";
normal-active-background = mkLiteral "transparent";
normal-active-foreground = mkLiteral "@common-secondary-bright";
normal-active-border-color = mkLiteral "transparent";
normal-urgent-background = mkLiteral "transparent";
normal-urgent-foreground = mkLiteral "@common-urgent-bright";
normal-urgent-border-color = mkLiteral "transparent";
selected-normal-background = mkLiteral "@common-primary-33";
selected-normal-foreground = mkLiteral "@common-primary-bright";
selected-normal-border-color = mkLiteral "@common-primary-66";
selected-active-background = mkLiteral "@common-secondary-33";
selected-active-foreground = mkLiteral "@common-secondary-bright";
selected-active-border-color = mkLiteral "@common-secondary-66";
selected-urgent-background = mkLiteral "@common-urgent-33";
selected-urgent-foreground = mkLiteral "@common-urgent-bright";
selected-urgent-border-color = mkLiteral "@common-urgent-66";
alternate-normal-background = mkLiteral "@normal-normal-background";
alternate-normal-foreground = mkLiteral "@normal-normal-foreground";
alternate-normal-border-color = mkLiteral "@normal-normal-border-color";
alternate-active-background = mkLiteral "@normal-active-background";
alternate-active-foreground = mkLiteral "@normal-active-foreground";
alternate-active-border-color = mkLiteral "@normal-active-border-color";
alternate-urgent-background = mkLiteral "@normal-urgent-background";
alternate-urgent-foreground = mkLiteral "@normal-urgent-foreground";
alternate-urgent-border-color = mkLiteral "@normal-urgent-border-color";
};
"window" = {
background-color = mkLiteral "#1d1f21e6"; #// @black + 0.85 alpha
border = 3;
border-color = mkLiteral "@black-bright";
border-radius = 16;
width = 1024;
height = 460;
};
"mainbox" = {
padding = 16;
spacing = 16;
};
"inputbar" = {
background-color = mkLiteral "#333537"; #// @black-110
border = 1;
border-color = mkLiteral "#606263"; #// @black-130
border-radius = 8;
padding = mkLiteral "12 16";
spacing = 0;
text-color = mkLiteral "@common-foreground";
children = mkLiteral "[ entry, case-indicator, num-filtered-rows, textbox-num-sep, num-rows ]";
};
"prompt" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "@common-foreground-bright";
spacing = 0;
text-transform = mkLiteral "bold";
};
"textbox-prompt-colon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
margin = mkLiteral "0 0.3em 0 0";
expand = false;
str = "=";
};
"entry" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "@common-foreground-bright";
cursor = "text";
placeholder-color = mkLiteral "@common-foreground-66";
placeholder = "Type to filter";
};
"case-indicator" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"num-filtered-rows" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
expand = false;
};
"textbox-num-sep" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
expand = false;
str = "/";
};
"num-rows" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
expand = false;
};
"message" = {
background-color = mkLiteral "@cyan-33";
border = 1;
border-color = mkLiteral "@cyan-66";
border-radius = 8;
padding = 16;
};
"textbox" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "@cyan-bright";
};
"listview" = {
dynamic = true;
scrollbar = true;
spacing = 0;
};
"scrollbar" = {
background-color = mkLiteral "transparent";
padding = 0;
margin = mkLiteral "0 0 0 4";
handle-width = 8;
border = 0;
handle-color = mkLiteral "#626463"; #// @white-50
};
"element" = {
border = 1;
border-radius = 8;
padding = mkLiteral "6 12";
margin = mkLiteral "1 0";
spacing = 12;
children = mkLiteral "[ element-icon, element-text ]";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
size = mkLiteral "1.0em";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
highlight = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element normal.normal" = {
background-color = mkLiteral "@normal-normal-background";
text-color = mkLiteral "@normal-normal-foreground";
border-color = mkLiteral "@normal-normal-border-color";
};
"element normal.urgent" = {
background-color = mkLiteral "@normal-urgent-background";
text-color = mkLiteral "@normal-urgent-foreground";
border-color = mkLiteral "@normal-urgent-border-color";
};
"element normal.active" = {
background-color = mkLiteral "@normal-active-background";
text-color = mkLiteral "@normal-active-foreground";
border-color = mkLiteral "@normal-active-border-color";
};
"element selected.normal" = {
background-color = mkLiteral "@selected-normal-background";
text-color = mkLiteral "@selected-normal-foreground";
border-color = mkLiteral "@selected-normal-border-color";
};
"element selected.urgent" = {
background-color = mkLiteral "@selected-urgent-background";
text-color = mkLiteral "@selected-urgent-foreground";
border-color = mkLiteral "@selected-urgent-border-color";
};
"element selected.active" = {
background-color = mkLiteral "@selected-active-background";
text-color = mkLiteral "@selected-active-foreground";
border-color = mkLiteral "@selected-active-border-color";
};
"element alternate.normal" = {
background-color = mkLiteral "@alternate-normal-background";
text-color = mkLiteral "@alternate-normal-foreground";
border-color = mkLiteral "@alternate-normal-border-color";
};
"element alternate.urgent" = {
background-color = mkLiteral "@alternate-urgent-background";
text-color = mkLiteral "@alternate-urgent-foreground";
border-color = mkLiteral "@alternate-urgent-border-color";
};
"element alternate.active" = {
background-color = mkLiteral "@alternate-active-background";
text-color = mkLiteral "@alternate-active-foreground";
border-color = mkLiteral "@alternate-active-border-color";
};
};
}; };
theme = let
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
font = "JetBrains Mono 11";
black = mkLiteral "#1d1f21";
white = mkLiteral "#c5c8c6";
red = mkLiteral "#cc6666";
orange = mkLiteral "#de935f";
yellow = mkLiteral "#f0c674";
green = mkLiteral "#7cb36b";
cyan = mkLiteral "#78bab9";
blue = mkLiteral "#81a2be";
magenta = mkLiteral "#b294bb";
black-bright = mkLiteral "#3c4044";
white-bright = mkLiteral "#eaeaea";
red-bright = mkLiteral "#d54e53";
orange-bright = mkLiteral "#e78c45";
yellow-bright = mkLiteral "#e7c547";
green-bright = mkLiteral "#71c464";
cyan-bright = mkLiteral "#6acdcc";
blue-bright = mkLiteral "#7aa6da";
magenta-bright = mkLiteral "#c397d8";
black-66 = mkLiteral "#131415";
white-66 = mkLiteral "#828382";
red-66 = mkLiteral "#864343";
orange-66 = mkLiteral "#92613e";
yellow-66 = mkLiteral "#9e824c";
green-66 = mkLiteral "#517646";
cyan-66 = mkLiteral "#4f7a7a";
blue-66 = mkLiteral "#556a7d";
magenta-66 = mkLiteral "#75617b";
black-33 = mkLiteral "#090a0a";
white-33 = mkLiteral "#414141";
red-33 = mkLiteral "#432121";
orange-33 = mkLiteral "#49301f";
yellow-33 = mkLiteral "#4f4126";
green-33 = mkLiteral "#283b23";
cyan-33 = mkLiteral "#273d3d";
blue-33 = mkLiteral "#2a353e";
magenta-33 = mkLiteral "#3a303d";
common-background = mkLiteral "@black";
common-background-bright = mkLiteral "@black-bright";
common-background-66 = " @black-66";
common-foreground = mkLiteral "@white";
common-foreground-bright = mkLiteral "@white-bright";
common-foreground-66 = mkLiteral "@white-66";
common-primary = mkLiteral "@yellow";
common-primary-bright = mkLiteral "@yellow-bright";
common-primary-66 = mkLiteral "@yellow-66";
common-primary-33 = mkLiteral "@yellow-33";
common-secondary = mkLiteral "@blue";
common-secondary-bright = mkLiteral "@blue-bright";
common-secondary-66 = mkLiteral "@blue-66";
common-secondary-33 = mkLiteral "@blue-33";
common-urgent = mkLiteral "@red";
common-urgent-bright = mkLiteral "@red-bright";
common-urgent-66 = mkLiteral "@red-66";
common-urgent-33 = mkLiteral "@red-33";
background-color = mkLiteral "transparent";
normal-normal-background = mkLiteral "transparent";
normal-normal-foreground = mkLiteral "@common-foreground";
normal-normal-border-color = mkLiteral "transparent";
normal-active-background = mkLiteral "transparent";
normal-active-foreground = mkLiteral "@common-secondary-bright";
normal-active-border-color = mkLiteral "transparent";
normal-urgent-background = mkLiteral "transparent";
normal-urgent-foreground = mkLiteral "@common-urgent-bright";
normal-urgent-border-color = mkLiteral "transparent";
selected-normal-background = mkLiteral "@common-primary-33";
selected-normal-foreground = mkLiteral "@common-primary-bright";
selected-normal-border-color = mkLiteral "@common-primary-66";
selected-active-background = mkLiteral "@common-secondary-33";
selected-active-foreground = mkLiteral "@common-secondary-bright";
selected-active-border-color = mkLiteral "@common-secondary-66";
selected-urgent-background = mkLiteral "@common-urgent-33";
selected-urgent-foreground = mkLiteral "@common-urgent-bright";
selected-urgent-border-color = mkLiteral "@common-urgent-66";
alternate-normal-background = mkLiteral "@normal-normal-background";
alternate-normal-foreground = mkLiteral "@normal-normal-foreground";
alternate-normal-border-color = mkLiteral "@normal-normal-border-color";
alternate-active-background = mkLiteral "@normal-active-background";
alternate-active-foreground = mkLiteral "@normal-active-foreground";
alternate-active-border-color = mkLiteral "@normal-active-border-color";
alternate-urgent-background = mkLiteral "@normal-urgent-background";
alternate-urgent-foreground = mkLiteral "@normal-urgent-foreground";
alternate-urgent-border-color = mkLiteral "@normal-urgent-border-color";
};
"window" = {
background-color = mkLiteral "#1d1f21e6"; #// @black + 0.85 alpha
border = 3;
border-color = mkLiteral "@black-bright";
border-radius = 16;
width = 1024;
height = 460;
};
"mainbox" = {
padding = 16;
spacing = 16;
};
"inputbar" = {
background-color = mkLiteral "#333537"; #// @black-110
border = 1;
border-color = mkLiteral "#606263"; #// @black-130
border-radius = 8;
padding = mkLiteral "12 16";
spacing = 0;
text-color = mkLiteral "@common-foreground";
children = mkLiteral "[ entry, case-indicator, num-filtered-rows, textbox-num-sep, num-rows ]";
};
"prompt" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "@common-foreground-bright";
spacing = 0;
text-transform = mkLiteral "bold";
};
"textbox-prompt-colon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
margin = mkLiteral "0 0.3em 0 0";
expand = false;
str = "=";
};
"entry" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "@common-foreground-bright";
cursor = "text";
placeholder-color = mkLiteral "@common-foreground-66";
placeholder = "Type to filter";
};
"case-indicator" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"num-filtered-rows" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
expand = false;
};
"textbox-num-sep" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
expand = false;
str = "/";
};
"num-rows" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
expand = false;
};
"message" = {
background-color = mkLiteral "@cyan-33";
border = 1;
border-color = mkLiteral "@cyan-66";
border-radius = 8;
padding = 16;
};
"textbox" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "@cyan-bright";
};
"listview" = {
dynamic = true;
scrollbar = true;
spacing = 0;
};
"scrollbar" = {
background-color = mkLiteral "transparent";
padding = 0;
margin = mkLiteral "0 0 0 4";
handle-width = 8;
border = 0;
handle-color = mkLiteral "#626463"; #// @white-50
};
"element" = {
border = 1;
border-radius = 8;
padding = mkLiteral "6 12";
margin = mkLiteral "1 0";
spacing = 12;
children = mkLiteral "[ element-icon, element-text ]";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
size = mkLiteral "1.0em";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
highlight = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element normal.normal" = {
background-color = mkLiteral "@normal-normal-background";
text-color = mkLiteral "@normal-normal-foreground";
border-color = mkLiteral "@normal-normal-border-color";
};
"element normal.urgent" = {
background-color = mkLiteral "@normal-urgent-background";
text-color = mkLiteral "@normal-urgent-foreground";
border-color = mkLiteral "@normal-urgent-border-color";
};
"element normal.active" = {
background-color = mkLiteral "@normal-active-background";
text-color = mkLiteral "@normal-active-foreground";
border-color = mkLiteral "@normal-active-border-color";
};
"element selected.normal" = {
background-color = mkLiteral "@selected-normal-background";
text-color = mkLiteral "@selected-normal-foreground";
border-color = mkLiteral "@selected-normal-border-color";
};
"element selected.urgent" = {
background-color = mkLiteral "@selected-urgent-background";
text-color = mkLiteral "@selected-urgent-foreground";
border-color = mkLiteral "@selected-urgent-border-color";
};
"element selected.active" = {
background-color = mkLiteral "@selected-active-background";
text-color = mkLiteral "@selected-active-foreground";
border-color = mkLiteral "@selected-active-border-color";
};
"element alternate.normal" = {
background-color = mkLiteral "@alternate-normal-background";
text-color = mkLiteral "@alternate-normal-foreground";
border-color = mkLiteral "@alternate-normal-border-color";
};
"element alternate.urgent" = {
background-color = mkLiteral "@alternate-urgent-background";
text-color = mkLiteral "@alternate-urgent-foreground";
border-color = mkLiteral "@alternate-urgent-border-color";
};
"element alternate.active" = {
background-color = mkLiteral "@alternate-active-background";
text-color = mkLiteral "@alternate-active-foreground";
border-color = mkLiteral "@alternate-active-border-color";
};
};
};
} }

View File

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs = { programs = {
bat.enable = true; bat.enable = true;
zsh = { zsh = {
@ -16,7 +16,7 @@
lazygit.enable = true; lazygit.enable = true;
zoxide = { zoxide = {
enable = true; enable = true;
options = [ "--cmd cd" ]; options = ["--cmd cd"];
}; };
ripgrep.enable = true; ripgrep.enable = true;
btop = { btop = {

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {

View File

@ -1,8 +1,7 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
plugins = with pkgs;[ plugins = with pkgs; [
{ {
plugin = tmuxPlugins.gruvbox; plugin = tmuxPlugins.gruvbox;
extraConfig = "set -g @tmux-gruvbox 'dark'"; extraConfig = "set -g @tmux-gruvbox 'dark'";
@ -42,5 +41,4 @@
"; ";
}; };
} }

View File

@ -1,5 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = pkgs.vscodium; package = pkgs.vscodium;
@ -39,7 +38,7 @@
"terminal.integrated.fontFamily" = "FiraCode NF, FiraCode Nerd Font , FiraCode"; "terminal.integrated.fontFamily" = "FiraCode NF, FiraCode Nerd Font , FiraCode";
}; };
extensions = with pkgs.vscode-extensions;[ extensions = with pkgs.vscode-extensions; [
wakatime.vscode-wakatime wakatime.vscode-wakatime
ms-dotnettools.csharp ms-dotnettools.csharp
naumovs.color-highlight naumovs.color-highlight

View File

@ -1,5 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs = { programs = {
waybar = { waybar = {
enable = true; enable = true;
@ -41,10 +40,10 @@
"active-only" = false; "active-only" = false;
"on-click" = "activate"; "on-click" = "activate";
"persistent-workspaces" = { "persistent-workspaces" = {
"1" = [ ]; "1" = [];
"2" = [ ]; "2" = [];
"3" = [ ]; "3" = [];
"4" = [ ]; "4" = [];
}; };
}; };
@ -69,7 +68,7 @@
"format-charging" = " {capacity}%"; "format-charging" = " {capacity}%";
"format-plugged" = " {capacity}%"; "format-plugged" = " {capacity}%";
"format-alt" = "{time} {icon}"; "format-alt" = "{time} {icon}";
"format-icons" = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; "format-icons" = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
}; };
"bluetooth" = { "bluetooth" = {
@ -78,7 +77,7 @@
"format-connected" = " {num_connections}"; "format-connected" = " {num_connections}";
"format-connected-battery" = "{icon} {num_connections}"; "format-connected-battery" = "{icon} {num_connections}";
# "format-connected-battery"= "{icon} {device_alias}-{device_battery_percentage}%"; # "format-connected-battery"= "{icon} {device_alias}-{device_battery_percentage}%";
"format-icons" = [ "󰥇" "󰤾" "󰤿" "󰥀" "󰥁" "󰥂" "󰥃" "󰥄" "󰥅" "󰥆" "󰥈" ]; "format-icons" = ["󰥇" "󰤾" "󰤿" "󰥀" "󰥁" "󰥂" "󰥃" "󰥄" "󰥅" "󰥆" "󰥈"];
# "format-device-preference"= [ "device1"; "device2" ]; // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected; it will fall back to showing the last connected device. # "format-device-preference"= [ "device1"; "device2" ]; // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected; it will fall back to showing the last connected device.
"tooltip-format" = "{controller_alias}\n{num_connections} connected"; "tooltip-format" = "{controller_alias}\n{num_connections} connected";
"tooltip-format-connected" = "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}"; "tooltip-format-connected" = "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}";
@ -107,7 +106,7 @@
"interval" = 10; "interval" = 10;
"format" = "󰍛 {usage}%"; "format" = "󰍛 {usage}%";
"format-alt" = "{icon0}{icon1}{icon2}{icon3}"; "format-alt" = "{icon0}{icon1}{icon2}{icon3}";
"format-icons" = [ "" "" "" "" "" "" "" "" ]; "format-icons" = ["" "" "" "" "" "" "" ""];
}; };
"tray" = { "tray" = {
@ -156,188 +155,184 @@
"interval" = "once"; "interval" = "once";
"tooltip" = false; "tooltip" = false;
}; };
}; };
}; };
style = style = let
let bar_bg = "rgba(23, 28, 34, 0.95)";
bar_bg = "rgba(23, 28, 34, 0.95)"; main_bg = "#101419";
main_bg = "#101419"; main_fg = "#93cee9";
main_fg = "#93cee9";
wb_act_bg = "#90ceaa"; wb_act_bg = "#90ceaa";
wb_act_fg = "#1f2328"; wb_act_fg = "#1f2328";
wb_hvr_bg = "#90ceaa"; wb_hvr_bg = "#90ceaa";
wb_hvr_fg = "#1f2328"; wb_hvr_fg = "#1f2328";
in in ''
'' * {
* { border: none;
border: none; border-radius: 0px;
border-radius: 0px; font-family: "JetBrainsMono Nerd Font";
font-family: "JetBrainsMono Nerd Font"; font-weight: bold;
font-weight: bold; font-size: 20px;
font-size: 20px; min-height: 10px;
min-height: 10px; }
}
window#waybar { window#waybar {
background: ${bar_bg}; background: ${bar_bg};
} }
tooltip { tooltip {
background: ${main_bg}; background: ${main_bg};
color: ${main_fg}; color: ${main_fg};
border-radius: 7px; border-radius: 7px;
border-width: 0px; border-width: 0px;
} }
#workspaces button { #workspaces button {
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
padding: 0px; padding: 0px;
border-radius: 9px; border-radius: 9px;
margin-top: 3px; margin-top: 3px;
margin-bottom: 3px; margin-bottom: 3px;
margin-left: 0px; margin-left: 0px;
padding-left: 3px; padding-left: 3px;
padding-right: 3px; padding-right: 3px;
margin-right: 0px; margin-right: 0px;
color: ${main_fg}; color: ${main_fg};
animation: ws_normal 20s ease-in-out 1; animation: ws_normal 20s ease-in-out 1;
} }
#workspaces button.active { #workspaces button.active {
background: ${wb_act_bg}; background: ${wb_act_bg};
color: ${wb_act_fg}; color: ${wb_act_fg};
margin-left: 3px; margin-left: 3px;
padding-left: 12px; padding-left: 12px;
padding-right: 12px; padding-right: 12px;
margin-right: 3px; margin-right: 3px;
animation: ws_active 20s ease-in-out 1; animation: ws_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
} }
#workspaces button:hover { #workspaces button:hover {
background: ${wb_hvr_bg}; background: ${wb_hvr_bg};
color: ${wb_hvr_fg}; color: ${wb_hvr_fg};
animation: ws_hover 20s ease-in-out 1; animation: ws_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
} }
#taskbar button { #taskbar button {
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
padding: 0px; padding: 0px;
border-radius: 9px; border-radius: 9px;
margin-top: 3px; margin-top: 3px;
margin-bottom: 3px; margin-bottom: 3px;
margin-left: 0px; margin-left: 0px;
padding-left: 3px; padding-left: 3px;
padding-right: 3px; padding-right: 3px;
margin-right: 0px; margin-right: 0px;
color: @wb-color; color: @wb-color;
animation: tb_normal 20s ease-in-out 1; animation: tb_normal 20s ease-in-out 1;
} }
#taskbar button.active { #taskbar button.active {
background: ${wb_act_bg}; background: ${wb_act_bg};
color: @wb-act-color; color: @wb-act-color;
margin-left: 3px; margin-left: 3px;
padding-left: 12px; padding-left: 12px;
padding-right: 12px; padding-right: 12px;
margin-right: 3px; margin-right: 3px;
animation: tb_active 20s ease-in-out 1; animation: tb_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
} }
#taskbar button:hover { #taskbar button:hover {
background: ${wb_hvr_bg}; background: ${wb_hvr_bg};
color: @wb-hvr-color; color: @wb-hvr-color;
animation: tb_hover 20s ease-in-out 1; animation: tb_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
} }
#backlight, #backlight,
#battery, #battery,
#bluetooth, #bluetooth,
#custom-cliphist, #custom-cliphist,
#clock, #clock,
#custom-cpuinfo, #custom-cpuinfo,
#cpu, #cpu,
#custom-gpuinfo, #custom-gpuinfo,
#idle_inhibitor, #idle_inhibitor,
#language, #language,
#memory, #memory,
#custom-mode, #custom-mode,
#mpris, #mpris,
#network, #network,
#custom-power, #custom-power,
#pulseaudio, #pulseaudio,
#custom-spotify, #custom-spotify,
#taskbar, #taskbar,
#tray, #tray,
#custom-updates, #custom-updates,
#custom-wallchange, #custom-wallchange,
#custom-wbar, #custom-wbar,
#window, #window,
#workspaces, #workspaces,
#custom-l_end, #custom-l_end,
#custom-r_end, #custom-r_end,
#custom-sl_end, #custom-sl_end,
#custom-sr_end, #custom-sr_end,
#custom-rl_end, #custom-rl_end,
#custom-rr_end { #custom-rr_end {
color: ${main_fg}; color: ${main_fg};
background: ${main_bg}; background: ${main_bg};
opacity: 1; opacity: 1;
margin: 4px 0px 4px 0px; margin: 4px 0px 4px 0px;
padding-left: 4px; padding-left: 4px;
padding-right: 4px; padding-right: 4px;
} }
#workspaces, #workspaces,
#taskbar { #taskbar {
padding: 0px; padding: 0px;
} }
#custom-r_end { #custom-r_end {
border-radius: 0px 21px 21px 0px; border-radius: 0px 21px 21px 0px;
margin-right: 9px; margin-right: 9px;
padding-right: 3px; padding-right: 3px;
} }
#custom-l_end { #custom-l_end {
border-radius: 21px 0px 0px 21px; border-radius: 21px 0px 0px 21px;
margin-left: 9px; margin-left: 9px;
padding-left: 3px; padding-left: 3px;
} }
#custom-sr_end { #custom-sr_end {
border-radius: 0px; border-radius: 0px;
margin-right: 9px; margin-right: 9px;
padding-right: 3px; padding-right: 3px;
} }
#custom-sl_end { #custom-sl_end {
border-radius: 0px; border-radius: 0px;
margin-left: 9px; margin-left: 9px;
padding-left: 3px; padding-left: 3px;
} }
#custom-rr_end { #custom-rr_end {
border-radius: 0px 7px 7px 0px; border-radius: 0px 7px 7px 0px;
margin-right: 9px; margin-right: 9px;
padding-right: 3px; padding-right: 3px;
} }
#custom-rl_end { #custom-rl_end {
border-radius: 7px 0px 0px 7px; border-radius: 7px 0px 0px 7px;
margin-left: 9px; margin-left: 9px;
padding-left: 3px; padding-left: 3px;
} }
''; '';
}; };
}; };
} }

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.wezterm = { programs.wezterm = {
enable = true; enable = true;

View File

@ -1,4 +1,11 @@
{ inputs, outputs, lib, pkgs, username, ... }: { {
inputs,
outputs,
lib,
pkgs,
username,
...
}: {
services = { services = {
xserver = { xserver = {
enable = true; enable = true;
@ -34,7 +41,7 @@
programs.dconf.enable = true; programs.dconf.enable = true;
environment.systemPackages = with pkgs;[ environment.systemPackages = with pkgs; [
lua53Packages.lua lua53Packages.lua
wezterm wezterm
acpi acpi

View File

@ -1,3 +1,3 @@
{ ... }: { {...}: {
programs.hyprland.enable = true; programs.hyprland.enable = true;
} }

View File

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
security = { security = {
acme = { acme = {
defaults.email = "0xtux@pm.me"; defaults.email = "0xtux@pm.me";
@ -56,6 +60,6 @@
}; };
}; };
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [80 443];
environment.systemPackages = with pkgs;[ headscale ]; environment.systemPackages = with pkgs; [headscale];
} }

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.steam = { programs.steam = {
enable = true; enable = true;
}; };

View File

@ -1,7 +1,7 @@
{ username, ... }: { {username, ...}: {
virtualisation = { virtualisation = {
docker.enable = true; docker.enable = true;
}; };
users.users.${username}.extraGroups = [ "docker" ]; users.users.${username}.extraGroups = ["docker"];
} }

View File

@ -1,9 +1,13 @@
{ pkgs, username, ... }: { {
pkgs,
username,
...
}: {
virtualisation = { virtualisation = {
libvirtd.enable = true; libvirtd.enable = true;
}; };
users.users.${username}.extraGroups = [ "libvirtd" ]; users.users.${username}.extraGroups = ["libvirtd"];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
virt-manager virt-manager

View File

@ -1,4 +1,4 @@
{ ... }: { {...}: {
virtualisation = { virtualisation = {
waydroid.enable = true; waydroid.enable = true;
}; };

View File

@ -1,5 +1,5 @@
{ inputs, ... }: { {inputs, ...}: {
additions = final: _prev: import ../pkgs { pkgs = final; }; additions = final: _prev: import ../pkgs {pkgs = final;};
modifications = final: prev: { modifications = final: prev: {
#vscode = prev.vscode.overrideAttrs (oldAttrs: rec { #vscode = prev.vscode.overrideAttrs (oldAttrs: rec {
@ -11,7 +11,7 @@
# buildInputs = oldAttrs.buildInputs; # buildInputs = oldAttrs.buildInputs;
#}); #});
awesome = inputs.nixpkgs-f2k.packages.${prev.system}.awesome-git.override { lua = prev.lua53Packages.lua; }; awesome = inputs.nixpkgs-f2k.packages.${prev.system}.awesome-git.override {lua = prev.lua53Packages.lua;};
}; };
# When applied, the unstable nixpkgs set (declared in the flake inputs) will # When applied, the unstable nixpkgs set (declared in the flake inputs) will

View File

@ -1,30 +1,32 @@
{ lib, stdenv, pkgs }: {
lib,
let stdenv,
pkgs,
}: let
user = ./user; user = ./user;
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "astronvim"; pname = "astronvim";
version = "3.44.1"; version = "3.44.1";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "AstroNvim"; owner = "AstroNvim";
repo = "AstroNvim"; repo = "AstroNvim";
rev = "refs/heads/main"; rev = "refs/heads/main";
sha256 = "sha256-1nfMx9XaTOfuz1IlvepJdEfrX539RRVN5RXzUR00tfk="; sha256 = "sha256-1nfMx9XaTOfuz1IlvepJdEfrX539RRVN5RXzUR00tfk=";
}; };
installPhase = '' installPhase = ''
mkdir $out mkdir $out
cp -r * "$out/" cp -r * "$out/"
mkdir -p "$out/lua/user" mkdir -p "$out/lua/user"
cp -r ${user}/* "$out/lua/user/" cp -r ${user}/* "$out/lua/user/"
''; '';
meta = with lib; { meta = with lib; {
description = "AstroNvim"; description = "AstroNvim";
homepage = "https://github.com/AstroNvim/AstroNvim"; homepage = "https://github.com/AstroNvim/AstroNvim";
platforms = platforms.all; platforms = platforms.all;
license = licenses.gpl3; license = licenses.gpl3;
}; };
} }

View File

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
nvchad = pkgs.callPackage ./nvchad { }; nvchad = pkgs.callPackage ./nvchad {};
astronvim = pkgs.callPackage ./astronvim { }; astronvim = pkgs.callPackage ./astronvim {};
} }

View File

@ -1,30 +1,32 @@
{ stdenv, lib, fetchFromGitHub }: {
stdenv,
let lib,
fetchFromGitHub,
}: let
custom = ./custom; custom = ./custom;
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "nvchad"; pname = "nvchad";
version = "2.0.0"; version = "2.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NvChad"; owner = "NvChad";
repo = "NvChad"; repo = "NvChad";
rev = "refs/heads/v2.0"; rev = "refs/heads/v2.0";
sha256 = "sha256-tKMvKdB3jPSvcyewaOe8oak3pXhjAcLyyxgGMiMeqeU="; sha256 = "sha256-tKMvKdB3jPSvcyewaOe8oak3pXhjAcLyyxgGMiMeqeU=";
}; };
installPhase = '' installPhase = ''
mkdir $out mkdir $out
cp -r * "$out/" cp -r * "$out/"
mkdir -p "$out/lua/custom" mkdir -p "$out/lua/custom"
cp -r ${custom}/* "$out/lua/custom/" cp -r ${custom}/* "$out/lua/custom/"
''; '';
meta = with lib; { meta = with lib; {
description = "NvChad"; description = "NvChad";
homepage = "https://github.com/NvChad/NvChad"; homepage = "https://github.com/NvChad/NvChad";
platforms = platforms.all; platforms = platforms.all;
license = licenses.gpl3; license = licenses.gpl3;
}; };
} }