Set Styling for rofi

This commit is contained in:
DerGrumpf 2025-09-03 10:03:29 +02:00
parent 0dc1ae58fb
commit 74bf1dc059
100 changed files with 2836 additions and 2115 deletions

View File

@ -67,6 +67,38 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"revCount": 69,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1754091436,
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -399,6 +431,26 @@
"type": "github" "type": "github"
} }
}, },
"nixcord": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1755307498,
"narHash": "sha256-6AXJWZnW/Y9qxlblabRx3NeMtfeMGicndefYEolzgtg=",
"owner": "kaylorben",
"repo": "nixcord",
"rev": "a171d05a26467a74c66138ac83f1dd1fb07e4a3e",
"type": "github"
},
"original": {
"owner": "kaylorben",
"repo": "nixcord",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1743583204, "lastModified": 1743583204,
@ -415,6 +467,21 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": {
"locked": {
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1742669843, "lastModified": 1742669843,
@ -432,6 +499,22 @@
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1754028485,
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "59e69648d345d6e8fef86158c555730fa12af9de",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1743576891, "lastModified": 1743576891,
"narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=", "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
@ -447,7 +530,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1751984180, "lastModified": 1751984180,
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
@ -492,13 +575,14 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"nixpkgs": "nixpkgs_3", "nixcord": "nixcord",
"nixpkgs": "nixpkgs_4",
"spicetify-nix": "spicetify-nix" "spicetify-nix": "spicetify-nix"
} }
}, },
"spicetify-nix": { "spicetify-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {

View File

@ -1,17 +1,8 @@
{ {
description = "NixOS configuration of DerGrumpf"; description = "NixOS configuration of DerGrumpf";
##################################################################################################################
#
# Want to know Nix in details? Looking for a beginner-friendly tutorial?
# Check out https://github.com/ryan4yin/nixos-and-flakes-book !
#
##################################################################################################################
# the nixConfig here only affects the flake itself, not the system configuration! # the nixConfig here only affects the flake itself, not the system configuration!
nixConfig = { nixConfig = {
# substituers will be appended to the default substituters when fetching packages
# nix com extra-substituters = [munity's cache server
extra-substituters = [ extra-substituters = [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
]; ];
@ -24,11 +15,14 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
spicetify-nix.url = "github:Gerg-L/spicetify-nix"; spicetify-nix.url = "github:Gerg-L/spicetify-nix";
nixcord.url = "github:kaylorben/nixcord";
/*nixvim = { /*
nixvim = {
url = "github:nix-community/nixvim/nixos-24.11"; url = "github:nix-community/nixvim/nixos-24.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
};*/ };
*/
catppuccin.url = "github:catppuccin/nix"; catppuccin.url = "github:catppuccin/nix";
@ -41,19 +35,23 @@
}; };
}; };
outputs = inputs @ { outputs =
inputs@{
self, self,
nixpkgs, nixpkgs,
home-manager, home-manager,
catppuccin, catppuccin,
... ...
}: { }:
{
packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage; packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
nixosConfigurations = { nixosConfigurations = {
iso = nixpkgs.lib.nixosSystem { iso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
({ pkgs, modulesPath, ... }: { (
{ pkgs, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ]; imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
neovim neovim
@ -61,14 +59,21 @@
wget wget
curl curl
]; ];
nix.settings.experimental-features = ["nix-command" "flakes"]; nix.settings.experimental-features = [
}) "nix-command"
"flakes"
];
}
)
]; ];
}; };
m920q = let m920q =
let
username = "phil"; username = "phil";
specialArgs = {inherit username;}; specialArgs = {
inherit inputs username;
};
in in
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
inherit specialArgs; inherit specialArgs;
@ -83,13 +88,23 @@
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = inputs // specialArgs; home-manager.extraSpecialArgs = inputs // specialArgs;
home-manager.users.${username} = import ./users/${username}/home.nix; home-manager.users.${username} = import ./users/${username}/home.nix;
home-manager.sharedModules = [
inputs.nixcord.homeModules.nixcord
];
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
} }
]; ];
}; };
qemu = let qemu =
let
username = "phil"; username = "phil";
specialArgs = { inherit username; }; specialArgs = { inherit username; };
in in
@ -112,7 +127,8 @@
]; ];
}; };
hp15-n028sg = let hp15-n028sg =
let
username = "phil"; username = "phil";
specialArgs = { inherit username; }; specialArgs = { inherit username; };
in in

View File

@ -1,4 +1,5 @@
{username, ...}: { { username, ... }:
{
# Home Manager needs a bit of information about you and the # Home Manager needs a bit of information about you and the
# paths it should manage. # paths it should manage.
home = { home = {

View File

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
} }

View File

@ -2,7 +2,47 @@
{ {
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = {
# Font
font = {
normal = {
family = "FiraCode Nerd Font Mono"; # Change to your preferred Nerd Font
style = "Regular";
};
bold = {
family = "FiraCode Nerd Font Mono";
style = "Bold";
};
italic = {
family = "FiraCode Nerd Font Mono";
style = "Italic";
};
size = 11;
};
window = {
opacity = 0.6; # Adjust between 0.0 (fully transparent) and 1.0 (opaque)
padding = {
x = 10;
y = 10;
};
decorations = "full"; # none, transparent, full, buttonless
title = "Alacritty";
dynamic_title = true;
}; };
};
};
fonts = {
fontconfig = {
enable = true;
defaultFonts = {
monospace = [ "FiraCode Nerd Font Mono" ];
};
};
};
home.packages = with pkgs; [
fira-code-nerdfont
];
} }

View File

@ -1,4 +1,5 @@
{ pkgs, ...}: { { pkgs, ... }:
{
imports = [ imports = [
./kitty.nix # Terminal ./kitty.nix # Terminal
./alacritty.nix ./alacritty.nix

View File

@ -14,7 +14,8 @@
after_sleep_cmd = "hyprctl dispatch dpms on"; after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false; ignore_dbus_inhibit = false;
lock_cmd = "hyprlock"; lock_cmd = "hyprlock";
before_sleep_cmd = ''notify-send -u critical "Hey master, Im getting sleepy Ill see you in my code dreams 💖" --icon before_sleep_cmd = ''
notify-send -u critical "Hey master, Im getting sleepy Ill see you in my code dreams 💖" --icon
="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"''; ="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"'';
}; };

View File

@ -1,10 +1,10 @@
{ inputs, pkgs, ...}: { pkgs, ... }:
let let
package = pkgs.hyprland; package = pkgs.hyprland;
super = "SUPER"; super = "SUPER";
terminal = "kitty"; terminal = "kitty";
fileManager = "spacefm"; fileManager = "yazi";
theme = "-theme $HOME/.config/rofi/catppuccin-default.rasi"; theme = "-theme $HOME/.config/rofi/custom.rasi";
menu = "rofi -show drun ${theme}"; menu = "rofi -show drun ${theme}";
filebrowser = "rofi -show filebrowser ${theme}"; filebrowser = "rofi -show filebrowser ${theme}";
power = "rofi -show p -modi p:rofi-power-menu"; power = "rofi -show p -modi p:rofi-power-menu";
@ -148,7 +148,6 @@ in
"ignorezero,rofi" "ignorezero,rofi"
]; ];
dwindle = { dwindle = {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below

View File

@ -20,5 +20,3 @@
}; };
} }

View File

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { lib, ... }:
{ {
programs.kitty = lib.mkForce { programs.kitty = lib.mkForce {
enable = true; enable = true;
@ -9,14 +9,15 @@
enable_audio_bell = false; enable_audio_bell = false;
mouse_hide_wait = "-1.0"; mouse_hide_wait = "-1.0";
window_padding_width = 10; window_padding_width = 10;
background_opacity = "0.5"; background_opacity = "0.8";
background_blur = 5; background_blur = 5;
tab_bar_min_tabs = 1; tab_bar_min_tabs = 1;
tab_bar_edge = "bottom"; tab_bar_edge = "bottom";
tab_bar_style = "powerline"; tab_bar_style = "powerline";
tab_powerline_style = "slanted"; tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}"; tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
symbol_map = let symbol_map =
let
mappings = [ mappings = [
"U+23FB-U+23FE" "U+23FB-U+23FE"
"U+2B58" "U+2B58"

View File

@ -12,6 +12,5 @@
border-color=#a6e3a1 border-color=#a6e3a1
''; '';
}; };
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

View File

@ -0,0 +1,222 @@
* {
rosewater: #f5e0dc;
flamingo: #f2cdcd;
pink: #f5c2e7;
mauve: #cba6f7;
red: #f38ba8;
maroon: #eba0ac;
peach: #fab387;
yellow: #f9e2af;
green: #a6e3a1;
teal: #94e2d5;
sky: #89dceb;
sapphire: #74c7ec;
blue: #89b4fa;
lavender: #b4befe;
text: #cdd6f4;
subtext1: #bac2de;
subtext0: #a6adc8;
overlay2: #9399b2;
overlay1: #7f849c;
overlay0: #6c7086;
surface2: #585b70;
surface1: #45475a;
surface0: #313244;
base: #1e1e2e;
mantle: #181825;
crust: #11111b;
}
configuration {
show-icons: true;
modi: "window,drun,filebrowser";
display-drun: "Apps";
display-filebrowser: "Files";
display-run: "RUN";
display-window: "Active";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
/* Main Window */
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 50%;
height: 90%;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
border-radius: 12px;
cursor: "default";
background-color: @base;
}
/* Main Box */
mainbox {
enabled: true;
spacing: 0px;
background-color: transparent;
orientation: horizontal;
children: [ "imagebox", "listbox" ];
}
imagebox {
padding: 20px;
background-color: transparent;
background-image: url("~/.config/rofi/background.png", height);
orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ];
}
listbox {
spacing: 20px;
padding: 20px;
background-color: transparent;
orientation: vertical;
children: [ "message", "listview" ];
}
dummy {
background-color: transparent;
}
/* Input */
inputbar {
enabled: true;
spacing: 10px;
padding: 15px;
border-radius: 10px;
background-color: @crust;
text-color: @text;
children: [ "textbox-prompt-colon", "entry" ];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search";
placeholder-color: inherit;
}
/* Mode Switcher */
mode-switcher{
enabled: true;
spacing: 20px;
background-color: transparent;
text-color: @text;
}
button {
padding: 15px;
border-radius: 10px;
background-color: @base;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: @base;
text-color: @pink;
}
/* Listview */
listview {
enabled: true;
columns: 1;
lines: 8;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 10px;
background-color: transparent;
text-color: @text;
cursor: "default";
}
/* Elements */
element {
enabled: true;
spacing: 15px;
padding: 8px;
border-radius: 10px;
background-color: transparent;
text-color: @mauve;
cursor: pointer;
}
element normal.normal {
background-color: inherit;
text-color: inherit;
}
element normal.urgent {
background-color: inherit;
text-color: @red;
}
element normal.active {
background-color: inherit;
text-color: @blue;
}
element selected.normal {
background-color: @crust;
text-color: @pink;
}
element selected.urgent {
background-color: @crust;
text-color: @maroon;
}
element selected.active {
background-color: @crust;
text-color: @sky;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 32px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/* Message */
message {
background-color: transparent;
}
textbox {
padding: 15px;
border-radius: 10px;
background-color: @overlay0;
text-color: @peach;
vertical-align: 0.5;
horizontal-align: 0.0;
}
error-message {
padding: 15px;
border-radius: 20px;
background-color: @surface0;
text-color: @red;
}

View File

@ -1,16 +1,23 @@
{ {
pkgs, pkgs,
config,
... ...
}: { }:
{
home.packages = with pkgs; [ home.packages = with pkgs; [
rofi-power-menu rofi-power-menu
rofi-calc
]; ];
programs.rofi = { programs.rofi = {
enable = true; enable = true;
cycle = false; cycle = false;
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
font = "FiraCode Nerd Font Mono 12";
location = "center";
terminal = "${pkgs.kitty}/bin/kitty";
}; };
home.file.".config/rofi" = { home.file.".config/rofi" = {

View File

@ -2,11 +2,13 @@
pkgs, pkgs,
config, config,
... ...
}: { }:
{
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = pkgs.waybar; package = pkgs.waybar;
/*settings = { /*
settings = {
mainBar = { mainBar = {
layer = "top"; layer = "top";
position = "top"; position = "top";
@ -35,7 +37,8 @@
''; '';
}; };
}; };
};*/ };
*/
}; };
home.file.".config/waybar" = { home.file.".config/waybar" = {

View File

@ -2,7 +2,8 @@
pkgs, pkgs,
config, config,
... ...
} : { }:
{
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = pkgs.waybar; package = pkgs.waybar;
@ -59,7 +60,11 @@
network = { network = {
tooltip = true; tooltip = true;
format-wifi = "{icon}"; format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"]; format-icons = [
"󰤟"
"󰤢"
"󰤥"
];
rotate = 0; rotate = 0;
format-ethernet = "󰈀 "; format-ethernet = "󰈀 ";
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>"; tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
@ -74,7 +79,17 @@
interval = 1; interval = 1;
rotate = 270; rotate = 270;
format = "{icon}"; format = "{icon}";
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"]; format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
max-length = 10; max-length = 10;
}; };
@ -82,7 +97,17 @@
interval = 1; interval = 1;
format = "{icon}"; format = "{icon}";
rotate = 270; rotate = 270;
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"]; format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
}; };
clock = { clock = {
@ -150,7 +175,11 @@
network = { network = {
tooltip = true; tooltip = true;
format-wifi = "{icon}"; format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"]; format-icons = [
"󰤟"
"󰤢"
"󰤥"
];
rotate = 0; rotate = 0;
format-ethernet = "{bandwidthTotalBits} 󰈀 {bandwidthUpBits} 󰶣 {bandwidthDownBits} 󰶡 "; format-ethernet = "{bandwidthTotalBits} 󰈀 {bandwidthUpBits} 󰶣 {bandwidthDownBits} 󰶡 ";
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>"; tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";

View File

@ -2,7 +2,8 @@
pkgs, pkgs,
config, config,
... ...
} : { }:
{
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = pkgs.waybar; package = pkgs.waybar;
@ -66,7 +67,11 @@
network = { network = {
tooltip = true; tooltip = true;
format-wifi = "{icon}"; format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"]; format-icons = [
"󰤟"
"󰤢"
"󰤥"
];
rotate = 0; rotate = 0;
format-ethernet = "󰈀 "; format-ethernet = "󰈀 ";
tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>"; tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
@ -81,7 +86,17 @@
interval = 1; interval = 1;
rotate = 270; rotate = 270;
format = "{icon}"; format = "{icon}";
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"]; format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
max-length = 10; max-length = 10;
}; };
@ -89,7 +104,17 @@
interval = 1; interval = 1;
format = "{icon}"; format = "{icon}";
rotate = 270; rotate = 270;
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"]; format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
}; };
clock = { clock = {

View File

@ -3,7 +3,8 @@
pkgs, pkgs,
catppuccin-bat, catppuccin-bat,
... ...
}: { }:
{
home.packages = with pkgs; [ home.packages = with pkgs; [
]; ];

View File

@ -1,7 +1,8 @@
{ {
pkgs, pkgs,
... ...
}: { }:
{
home.packages = [ pkgs.gh ]; home.packages = [ pkgs.gh ];
programs.git = { programs.git = {

View File

@ -0,0 +1,268 @@
-- Basics
vim.g.mapleader = " "
-- Yank to system clipboard
vim.keymap.set("n", "y", '"+y', { desc = "Yank to clipboard" })
vim.keymap.set("v", "y", '"+y', { desc = "Yank to clipboard" })
vim.keymap.set("n", "Y", '"+Y', { desc = "Yank line to clipboard" })
-- Also make delete operations use system clipboard
vim.keymap.set("n", "d", '"+d', { desc = "Delete to clipboard" })
vim.keymap.set("v", "d", '"+d', { desc = "Delete to clipboard" })
vim.keymap.set("n", "D", '"+D', { desc = "Delete line to clipboard" })
-- Paste from system clipboard
vim.keymap.set("n", "p", '"+p', { desc = "Paste from clipboard" })
vim.keymap.set("v", "p", '"+p', { desc = "Paste from clipboard" })
-- Treesitter
require("nvim-treesitter.configs").setup({
ensure_installed = { "lua", "nix", "python", "javascript", "rust", "rasi" },
sync_install = false,
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
parser_install_dir = vim.fn.stdpath("data") .. "/treesitter",
})
vim.opt.runtimepath:append(vim.fn.stdpath("data") .. "/treesitter")
-- Linting
require("lint").linters_by_ft = {}
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
callback = function()
require("lint").try_lint()
end,
})
-- Mason Setup
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
"nil_ls",
"rust_analyzer",
"pylsp",
"stylelint-lsp",
},
automatic_installation = true,
})
-- LSP Config
local cmp = require("cmp")
cmp.setup({
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" },
}, {
{ name = "buffer" },
{ name = "path" },
}),
})
local lspconfig = require("lspconfig")
local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, {})
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
-- Setup language servers
lspconfig.lua_ls.setup({
capabilities = capabilities,
settings = {
Lua = {
runtime = { version = "LuaJIT" },
diagnostics = { globals = { "vim" } },
workspace = { library = vim.api.nvim_get_runtime_file("", true) },
telemetry = { enable = false },
},
},
})
lspconfig.nil_ls.setup({ capabilities = capabilities })
lspconfig.rust_analyzer.setup({ capabilities = capabilities })
lspconfig.pylsp.setup({ capabilities = capabilities })
lspconfig.stylelint_lsp.setup({
cmd = { "stylelint-lsp", "--stdio" },
filetypes = { "css", "scss", "rasi" },
capabilities = vim.lsp.protocol.make_client_capabilities(),
})
-- Conform
require("conform").setup({
formatters_by_ft = {
lua = { "stylua" },
nix = { "nixfmt" },
python = { "black" },
rust = { "rustfmt" },
rasi = { "prettierd" },
},
format_on_save = {
timeout_ms = 500,
lsp_fallback = true,
},
})
-- Yazi
require("yazi").setup({
open_for_directories = true,
})
vim.keymap.set("n", "<leader>fy", function()
require("yazi").yazi(nil, vim.loop.cwd())
end, { desc = "Open Yazi file manager" })
vim.keymap.set("n", "<leader>fd", function()
require("yazi").yazi(nil, vim.fn.expand("%:p:h"))
end, { desc = "Open Yazi in current file directory" })
-- Telescope
require("telescope").setup()
local telescope = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", telescope.find_files, { desc = "Telescope find files" })
vim.keymap.set("n", "<leader>fg", telescope.live_grep, { desc = "Telescope live grep" })
vim.keymap.set("n", "<leader>fb", telescope.buffers, { desc = "Telescope buffers" })
vim.keymap.set("n", "<leader>fh", telescope.help_tags, { desc = "Telescope help tags" })
-- Styling
require("catppuccin").setup({
flavour = "mocha",
transparent_background = true,
term_colors = true,
integration = {
treesitter = true,
mason = true,
lsp_trouble = true,
which_key = true,
cmp = true,
gitsigns = true,
telescope = true,
nvimtree = true,
dashboard = true,
notify = true,
indent_blankline = true,
toggleterm = true, -- Important for transparent terminals
},
})
vim.cmd.colorscheme("catppuccin")
vim.opt.number = true
vim.opt.cursorline = true
vim.opt.showmode = false
vim.opt.syntax = "enable"
vim.opt.hlsearch = true
vim.opt.incsearch = true
vim.opt.tabstop = 4
vim.opt.termguicolors = true
local colors = require("catppuccin.palettes").get_palette("mocha")
vim.api.nvim_set_hl(0, "LineNr", { fg = colors.text, bg = "NONE" })
vim.api.nvim_set_hl(0, "CursorLineNr", { fg = colors.pink, bg = "NONE", bold = true })
-- ToggleTerm setup
require("toggleterm").setup({
size = 20,
open_mapping = [[<c-\>]],
direction = "float",
float_opts = {
border = "single",
width = 200,
height = 40,
},
})
vim.keymap.set("n", "<leader>h", function()
require("toggleterm").toggle(1, 10, vim.loop.cwd(), "horizontal")
end, { desc = "Toggle terminal (horizontal)" })
vim.keymap.set("n", "<leader>v", function()
require("toggleterm").toggle(2, 60, vim.loop.cwd(), "vertical")
end, { desc = "Toggle terminal (vertical)" })
vim.keymap.set("n", "<leader>ft", function()
require("toggleterm").toggle(3, 20, vim.loop.cwd(), "float")
end, { desc = "Toggle terminal (float)" })
vim.keymap.set("t", "<C-t>", "<Cmd>ToggleTerm<CR>", { desc = "Toggle terminal" })
vim.keymap.set("t", "<C-v>", "<C-\\><C-n>v", { desc = "Exit terminal and enter visual mode" })
-- Statusline
require("lualine").setup({
options = {
theme = "catppuccin",
component_separators = { left = "|", right = "|" },
section_separators = { left = "", right = "" },
},
})
-- Dashboard
local alpha = require("alpha")
local dashboard = require("alpha.themes.dashboard")
dashboard.section.header.val = {
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣯⣿⠿⣟⣷⣯⣛⢿⣿⣿⣾⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⡿⣵⣿⡿⣴⣽⡟⣳⢿⢽⣽⣕⣽⢿⡿⣿⣟⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣷⣿⣿⢟⣫⣿⢟⢟⣾⣾⣿⣿⣞⢳⣻⢞⣎⠿⢞⣊⣿⣞⣿⣿⣿⣿⣿⢽",
"⣿⣿⣿⣿⣿⣏⢯⣿⣏⣏⠔⢇⣿⢢⢆⢀⢆⣧⣼⢻⢰⡧⢻⣝⣏⡸⣧⣾⣿⣿⣿",
"⣿⣿⣿⣿⡟⣻⣿⣿⡾⡿⡼⢸⡝⣝⡳⢢⣧⢳⣳⢷⡇⣗⢺⡺⣿⡧⣿⣿⣿⢿⢿",
"⣿⡿⣿⣼⡼⣿⣿⡗⡧⣧⠁⡝⣧⣳⠅⡾⠈⣎⢮⣧⣿⣿⣗⣷⣻⢷⣏⣼⢏⣺⣿",
"⣿⣿⣿⣻⣿⣿⣿⢧⣿⢹⠉⢷⢿⣧⣲⡏⡀⡈⢆⠳⣿⡿⢿⣿⣱⢿⢫⣷⣝⣿⣿",
"⣿⣿⣿⡯⡟⣿⣿⢽⣡⠟⢿⣮⠁⠙⠛⠈⡴⢿⣿⡷⣬⣽⢽⠧⣷⡏⣿⡇⣧⣽⣿",
"⣿⠟⢻⡧⡇⣿⡇⣇⣆⢄⡜⢃⡀⡀⡀⡀⡀⢎⣁⠁⣸⣗⣸⣿⣧⣼⡿⢹⢿⢾⣿",
"⣿⣷⣾⣿⢻⣿⢧⢻⣽⡀⡀⡀⡀⢄⡀⡀⡀⡀⡀⢀⣷⡸⡟⣿⣶⣻⣧⡛⡱⢝⣿",
"⣿⣿⣿⣿⢸⡿⢚⡜⣿⣇⡀⡀⡀⡀⡀⡀⡀⡀⠚⢁⢣⣜⡿⣿⡇⢼⣿⠨⣸⣿⣿",
"⣿⣄⣿⣗⢾⢻⣧⢿⣾⣿⣦⡀⡀⠑⠚⠉⡀⡀⣤⣿⢨⣿⠗⣻⢣⣿⢹⢈⣽⣿⣿",
"⣿⣿⣿⣿⢎⡄⢿⣞⡇⣿⠹⣿⣶⣀⡀⣀⡴⡩⢸⢏⣿⣿⣶⢻⣾⢏⡞⠡⢽⣇⣾",
"⣿⣿⣿⣮⣼⢬⣦⢿⣳⣌⠧⡉⠈⣇⣛⣁⣈⣼⣿⡸⠫⠛⠐⠛⠕⣙⣻⣬⣼⣿⣿",
"⢟⢿⣿⣿⣿⡢⣃⣪⣭⣡⣤⣶⠟⡿⠿⠿⠿⠛⢁⣿⣿⢩⠉⡀⠈⠓⡝⣿⣿⣿⣿",
"⣾⣿⣿⣿⣿⠞⢔⡣⡴⣾⣿⠓⣤⢧⡼⣉⠠⢤⣿⣿⠇⠃⡀⡀⡀⡀⡸⢿⣾⣿⣿",
"⣿⣿⣿⡿⣺⡸⢗⢠⣇⣿⣿⠊⠃⡀⠉⡀⢠⣿⣿⠟⡸⡀⡀⡀⡀⡀⣃⣬⠽⠿⣿",
"⣿⣿⣿⣿⡇⡏⢸⣿⠟⣽⡇⡀⡀⡀⡀⣴⣟⢭⣾⣿⡇⠎⣠⠒⠉⠈⢀⡀⢨⡋⣿",
"⠛⠛⠛⠋⠃⠓⠚⠛⠘⠛⠃⡀⠊⡀⠛⠛⠛⠂⠛⠛⠓⠁⠚⡀⠂⠒⠒⠐⠒⠋⠛",
}
dashboard.section.buttons.val = {
dashboard.button("e", "[+] New file", ":ene <BAR> startinsert <CR>"),
dashboard.button("f", "[?] Find file", ":Telescope find_files <CR>"),
dashboard.button("r", "[~] Recent files", ":Telescope oldfiles <CR>"),
dashboard.button("y", "[Y] Yazi", ":Yazi<CR>"),
dashboard.button("m", "[M] Mason", ":Mason<CR>"),
dashboard.button("q", "[X] Quit", ":qa<CR>"),
}
dashboard.section.footer.val = "Circuits hum in anticipation of your will."
vim.api.nvim_create_autocmd("VimEnter", {
callback = function()
if vim.fn.argc() == 0 then
require("alpha").start()
end
end,
})
alpha.setup(dashboard.config)

View File

@ -1,37 +0,0 @@
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
vim.g.mapleader = " "
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not vim.uv.fs_stat(lazypath) then
local repo = "https://github.com/folke/lazy.nvim.git"
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
end
vim.opt.rtp:prepend(lazypath)
local lazy_config = require "configs.lazy"
-- load plugins
require("lazy").setup({
{
"NvChad/NvChad",
lazy = false,
branch = "v2.5",
import = "nvchad.plugins",
},
{ import = "plugins" },
}, lazy_config)
-- load theme
dofile(vim.g.base46_cache .. "defaults")
dofile(vim.g.base46_cache .. "statusline")
require "options"
require "nvchad.autocmds"
vim.schedule(function()
require "mappings"
end)

View File

@ -1,34 +0,0 @@
{
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"NvChad": { "branch": "v2.5", "commit": "6f25b2739684389ca69ea8229386c098c566c408" },
"base46": { "branch": "v3.0", "commit": "59566882e09a8a77dbdb33b678a93680c36ae089" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"fzf.vim": { "branch": "master", "commit": "245eaf8e50fe440729056ce8d4e7e2bb5b1ff9c9" },
"gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" },
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-conform.nvim": { "branch": "main", "commit": "1983f353b29d8716751665c18d57e1ac0473a59a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"menu": { "branch": "main", "commit": "7769b17c2a131108c02b10e9f844e504aa605cc2" },
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
"nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" },
"nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" },
"nvim-lspconfig": { "branch": "master", "commit": "8a1529e46eef5efc86c34c8d9bdd313abc2ecba0" },
"nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
"nvim-treesitter": { "branch": "master", "commit": "1a314a58d6d7695d226b56f6b61b1596993d5ac7" },
"nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
"openscad.nvim": { "branch": "main", "commit": "58baf76fd2f9e2fe2ca83ea120d56084edb8871e" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope.nvim": { "branch": "master", "commit": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4" },
"ui": { "branch": "v3.0", "commit": "57d403c219353b1f8e4cd635d058fbfcd9d647ea" },
"volt": { "branch": "main", "commit": "21a2351697abfed26d4469b88d3ab124d55a1b3f" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View File

@ -1,24 +0,0 @@
-- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
-- Please read that file to know all available options :(
---@type ChadrcConfig
local M = {}
M.base46 = {
theme = "radium",
-- hl_override = {
-- Comment = { italic = true },
-- ["@comment"] = { italic = true },
-- },
}
-- M.nvdash = { load_on_startup = true }
-- M.ui = {
-- tabufline = {
-- lazyload = false
-- }
--}
return M

View File

@ -1,15 +0,0 @@
local options = {
formatters_by_ft = {
lua = { "stylua" },
-- css = { "prettier" },
-- html = { "prettier" },
},
format_on_save = {
-- These options will be passed to conform.format()
timeout_ms = 500,
lsp_fallback = true,
},
}
return options

View File

@ -1,47 +0,0 @@
return {
defaults = { lazy = true },
install = { colorscheme = { "nvchad" } },
ui = {
icons = {
ft = "",
lazy = "󰂠 ",
loaded = "",
not_loaded = "",
},
},
performance = {
rtp = {
disabled_plugins = {
"2html_plugin",
"tohtml",
"getscript",
"getscriptPlugin",
"gzip",
"logipat",
"netrw",
"netrwPlugin",
"netrwSettings",
"netrwFileHandlers",
"matchit",
"tar",
"tarPlugin",
"rrhelper",
"spellfile_plugin",
"vimball",
"vimballPlugin",
"zip",
"zipPlugin",
"tutor",
"rplugin",
"syntax",
"synmenu",
"optwin",
"compiler",
"bugreport",
"ftplugin",
},
},
},
}

View File

@ -1,21 +0,0 @@
local lint = require("lint")
lint.linters_by_ft = {
lua = { "luacheck" },
}
lint.linters.luacheck.args = {
"--globals",
"vim",
"--formatter",
"plain",
"--codes",
"--ranges",
"-",
}
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
callback = function()
lint.try_lint()
end,
})

View File

@ -1,57 +0,0 @@
-- load defaults i.e lua_lsp
local on_attach = require("nvchad.configs.lspconfig").on_attach
local on_init = require("nvchad.configs.lspconfig").on_init
local capabilities = require("nvchad.configs.lspconfig").capabilities
local lspconfig = require("lspconfig")
-- List of all servers configured
lspconfig.servers = {
"lua_ls",
"templ",
"jedi_language_server",
-- "gopls",
}
-- List of servers configured with default config
local default_servers = {
"templ",
-- "gopls",
"jedi_language_server",
}
-- lsps with default config
for _, lsp in ipairs(default_servers) do
lspconfig[lsp].setup({
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
})
end
-- Lua LSP
lspconfig.lua_ls.setup({
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
settings = {
Lua = {
diagnostics = {
enable = false, -- Disable all diagnostics from lua_ls
-- globals = { "vim" }
},
workspace = {
library = {
vim.fn.expand("$VIMRUNTIME/lua"),
vim.fn.expand("$VIMRUNTIME/lua/vim/lsp"),
vim.fn.stdpath("data") .. "/lazy/ui/nvchad_types",
vim.fn.stdpath("data") .. "/lazy/lazy.nvim/lua/lazy",
--"${3rd}/love2d/library",
},
maxPreload = 100000,
preloadFileSize = 10000,
},
},
},
})

View File

@ -1,4 +0,0 @@
require("mason-conform").setup({
-- List of formatters to ignore during install
ignore_install = {},
})

View File

@ -1,26 +0,0 @@
local lint = package.loaded["lint"]
local ignore_install = {}
local function table_contains(table, value)
for _, v in ipairs(table) do
if v == value then
return true
end
end
return false
end
local all_linters = {}
for _, v in pairs(lint.linters_by_ft) do
for _, linter in ipairs(v) do
if not table_contains(ignore_install, linter) then
table.insert(all_linters, linter)
end
end
end
require("mason-nvim-lint").setup({
ensure_installed = all_linters,
automatic_installation = false,
})

View File

@ -1,24 +0,0 @@
local lspconfig = package.loaded["lspconfig"]
local ignore_install = {}
local function table_contains(table, value)
for _, v in ipairs(table) do
if v == value then
return true
end
end
return false
end
local all_servers = {}
for _, s in ipairs(lspconfig.servers) do
if not table_contains(ignore_install, s) then
table.insert(all_servers, s)
end
end
require("mason-lspconfig").setup({
ensure_installed = all_servers,
automatic_installation = false,
})

View File

@ -1,26 +0,0 @@
local options = {
ensure_installed = {
"bash",
"fish",
"lua",
"luadoc",
"markdown",
"printf",
"toml",
"vim",
"vimdoc",
"yaml",
-- Languages
"python",
"templ",
},
highlight = {
enable = true,
use_languagetree = true,
},
indent = { enable = true },
}
require("nvim-treesitter.configs").setup(options)

View File

@ -1,10 +0,0 @@
require "nvchad.mappings"
-- add yours here
local map = vim.keymap.set
map("n", ";", ":", { desc = "CMD enter command mode" })
map("i", "jk", "<ESC>")
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")

View File

@ -1,7 +0,0 @@
require("nvchad.options")
-- add yours here!
local o = vim.o
o.shiftwidth = 4
o.tabstop = 4
o.softtabstop = 4

View File

@ -1,70 +0,0 @@
return {
{
"nvim-treesitter/nvim-treesitter",
event = { "BufReadPre", "BufNewFile" },
config = function()
require("configs.treesitter")
end,
},
{
"mfussenegger/nvim-lint",
event = { "BufReadPre", "BufNewFile" },
config = function()
require("configs.lint")
end,
},
-- {
-- "rshkarin/mason-nvim-lint",
-- event = "VeryLazy",
-- config = function()
-- require("config.mason-lint")
-- end,
-- },
{
"stevearc/conform.nvim",
event = "BufWritePre", -- uncomment for format on save
opts = require("configs.conform"),
},
{
"zapling/mason-conform.nvim",
event = "VeryLazy",
dependencies = { "conform.nvim" },
config = function()
require("configs.mason-conform")
end,
},
{
"neovim/nvim-lspconfig",
event = { "BufReadPre", "BufNewFile" },
config = function()
require("nvchad.configs.lspconfig").defaults()
require("configs.lspconfig")
end,
},
{
"williamboman/mason-lspconfig.nvim",
event = "VeryLazy",
dependencies = { "nvim-lspconfig" },
config = function()
require("configs.mason-lspconfig")
end,
},
{
"salkin-mada/openscad.nvim",
config = function()
vim.g.openscad_load_snippets = true
vim.g.openscad_default_mappings = true
vim.g.openscad_auto_open = true
require("openscad")
end,
dependencies = { "L3MON4D3/LuaSnip", "junegunn/fzf.vim" },
},
}

View File

@ -1,17 +1,72 @@
{ pkgs, ... }: { { pkgs, ... }:
{
programs.neovim = { programs.neovim = {
enable = true; enable = true;
viAlias = true; viAlias = true;
vimAlias = true; vimAlias = true;
defaultEditor = true; defaultEditor = true;
/*plugins = with pkgs.vimPlugins; [ #extraPackages = with pkgs; [ ];
nvim-tree-lua
nvim-treesitter.withAllGrammars plugins = with pkgs.vimPlugins; [
];*/ nvim-treesitter
nvim-lint
catppuccin-nvim
mason-nvim
mason-lspconfig-nvim
nvim-lspconfig
nvim-cmp
cmp-nvim-lsp
cmp-buffer
cmp-path
cmp-cmdline
luasnip
lualine-nvim
yazi-nvim
alpha-nvim
cheatsheet-nvim
toggleterm-nvim
avante-nvim # AI Stuff
# Add conform.nvim as a custom plugin
(pkgs.vimUtils.buildVimPlugin {
name = "conform-nvim";
src = pkgs.fetchFromGitHub {
owner = "stevearc";
repo = "conform.nvim";
rev = "stable";
sha256 = "sha256-pUF9F5QoDzCZuVRcJEF91M8Qjkh/xosMkf9tRavkmJs=";
};
})
# Add telescope.vim as a custom plugin
(pkgs.vimUtils.buildVimPlugin {
name = "telescope-nvim";
src = pkgs.fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "0.1.8";
sha256 = "sha256-e1ulhc4IIvUgpjKQrSqPY4WpXuez6wlxL6Min9U0o5Q=";
};
})
];
extraLuaConfig = builtins.readFile (./. + "/config.lua");
}; };
home.file.".config/nvim" = { home.packages = with pkgs; [
source = ./configs; nixfmt-rfc-style
recursive = true; stylua
}; black
nodePackages.prettier
rustfmt
nodejs
prettierd
stylelint-lsp
# Mason Binarys
lua-language-server
nil
rust-analyzer
python3Packages.python-lsp-server
];
} }

View File

@ -2,7 +2,8 @@
pkgs, pkgs,
config, config,
... ...
}: { }:
{
home.packages = with pkgs; [ home.packages = with pkgs; [
itch itch
]; ];

View File

@ -2,7 +2,8 @@
pkgs, pkgs,
config, config,
... ...
}: { }:
{
home.packages = with pkgs; [ home.packages = with pkgs; [
lutris lutris
]; ];

View File

@ -2,7 +2,8 @@
pkgs, pkgs,
config, config,
... ...
}: { }:
{
home.packages = with pkgs; [ home.packages = with pkgs; [
xonotic xonotic
# armagetron # armagetron

View File

@ -2,10 +2,13 @@
pkgs, pkgs,
config, config,
... ...
}: { }:
/*home.packages = with pkgs; [ {
/*
home.packages = with pkgs; [
steam steam
];*/ ];
*/
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;

View File

@ -1,4 +1,4 @@
{ pkgs, inputs } : { pkgs, inputs, ... }:
{ {
imports = [ imports = [
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
@ -10,6 +10,30 @@
in in
{ {
enable = true; enable = true;
spotifyPackage = pkgs.spotify;
theme = spicePkgs.themes.catppuccin; theme = spicePkgs.themes.catppuccin;
} colorScheme = "mocha";
enabledExtensions = with spicePkgs.extensions; [
bookmark
fullAppDisplay
keyboardShortcut
popupLyrics
shuffle
autoVolume
betterGenres
adblock
wikify
songStats
];
enabledCustomApps = with spicePkgs.apps; [
lyricsPlus
newReleases
marketplace
];
#enabledSnippets = with spicePkgs.snippets; [ ];
};
} }

View File

@ -0,0 +1,50 @@
{ pkgs, ... }:
# home.nix
{
# ...
programs.nixcord = {
enable = true; # Enable Nixcord (It also installs Discord)
vesktop.enable = true; # Vesktop
dorion.enable = true; # Dorion
quickCss = "some CSS"; # quickCSS file
config = {
useQuickCss = true; # use out quickCSS
themeLinks = [
# or use an online theme
"https://raw.githubusercontent.com/link/to/some/theme.css"
];
frameless = true; # Set some Vencord options
plugins = {
hideAttachments.enable = true; # Enable a Vencord plugin
ignoreActivities = {
# Enable a plugin and set some options
enable = true;
ignorePlaying = true;
ignoreWatching = true;
ignoredActivities = [ "someActivity" ];
};
};
};
dorion = {
theme = "dark";
zoom = "1.1";
blur = "acrylic"; # "none", "blur", or "acrylic"
sysTray = true;
openOnStartup = true;
autoClearCache = true;
disableHardwareAccel = false;
rpcServer = true;
rpcProcessScanner = true;
pushToTalk = true;
pushToTalkKeys = [ "RControl" ];
desktopNotifications = true;
unreadBadge = true;
};
extraConfig = {
# Some extra JSON config here
# ...
};
};
# ...
}

View File

@ -1,8 +1,9 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
# Install Element Desktop # Install Teamspeak Desktop
home.packages = with pkgs; [ home.packages = with pkgs; [
teamspeak3 teamspeak3
# teamspeak6-client
]; ];
} }

View File

@ -2,7 +2,8 @@
pkgs, pkgs,
config, config,
... ...
}: { }:
{
programs.chromium = { programs.chromium = {
enable = true; enable = true;
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ]; commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];

View File

@ -3,9 +3,10 @@
config, config,
username, username,
... ...
}: { }:
{
programs.firefox = { programs.firefox = {
enable = true; enable = false;
profiles.${username} = { }; profiles.${username} = { };
}; };
} }

View File

@ -3,9 +3,11 @@
config, config,
username, username,
... ...
}: { }:
{
programs.floorp = { programs.floorp = {
enable = true; enable = true;
profiles.${username} = { }; profiles.${username} = { };
}; };
} }

View File

@ -1,5 +1,6 @@
{pkgs, config, ...}: let { pkgs, config, ... }:
browser = ["firefox.desktop"]; let
browser = [ "floorp.desktop" ];
# XDG MIME types # XDG MIME types
associations = { associations = {
@ -19,14 +20,15 @@
"audio/*" = [ "mpv.desktop" ]; "audio/*" = [ "mpv.desktop" ];
"video/*" = [ "mpv.dekstop" ]; "video/*" = [ "mpv.dekstop" ];
"image/*" = ["imv.desktop"]; "image/*" = [ "kitty-icat.desktop" ];
"application/json" = browser; "application/json" = browser;
"application/pdf" = ["org.pwmt.zathura.desktop.desktop"]; "application/pdf" = [ "okular.desktop" ];
"x-scheme-handler/discord" = [ "discordcanary.desktop" ]; "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
"x-scheme-handler/spotify" = [ "spotify.desktop" ]; "x-scheme-handler/spotify" = [ "spotify.desktop" ];
"x-scheme-handler/tg" = [ "telegramdesktop.desktop" ]; "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ];
}; };
in { in
{
xdg = { xdg = {
enable = true; enable = true;
cacheHome = config.home.homeDirectory + "/.local/cache"; cacheHome = config.home.homeDirectory + "/.local/cache";
@ -36,6 +38,20 @@ in {
defaultApplications = associations; defaultApplications = associations;
}; };
desktopEntries = {
kitty-icat = {
name = "Kitty Icat";
exec = "kitty +kitten icat %F";
terminal = true;
type = "Application";
mimeType = [ "image/*" ];
categories = [
"Viewer"
"Graphics"
];
};
};
userDirs = { userDirs = {
enable = true; enable = true;
createDirectories = true; createDirectories = true;
@ -49,8 +65,12 @@ in {
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
config = { config = {
common.default = [ "gtk" ]; common.default = [ "gtk" ];
hyprland.default = [ "gtk" "hyprland" ]; hyprland.default = [
"gtk"
"hyprland"
];
}; };
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-hyprland

View File

@ -74,5 +74,3 @@
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11"; # Did you read the comment?
} }

View File

@ -1,27 +1,43 @@
# 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 = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sr_mod" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"ehci_pci"
"ahci"
"usb_storage"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-label/NIXBOOT"; device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = [
"fmask=0022"
"dmask=0022"
];
}; };
swapDevices = [ ]; swapDevices = [ ];

View File

@ -2,11 +2,16 @@
# your system. Help is available in the configuration.nix(5) man page, on # your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). # https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
imports = imports = [
[ # Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -37,9 +42,6 @@
# Enable the X11 windowing system. # Enable the X11 windowing system.
# services.xserver.enable = true; # services.xserver.enable = true;
# Configure keymap in X11 # Configure keymap in X11
services.xserver.xkb.layout = "de"; services.xserver.xkb.layout = "de";
# services.xserver.xkb.options = "eurosign:e,caps:escape"; # services.xserver.xkb.options = "eurosign:e,caps:escape";
@ -125,4 +127,3 @@
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "24.11"; # Did you read the comment?
} }

View File

@ -2,7 +2,12 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
imports = [ imports = [
@ -40,10 +45,12 @@
#useDHCP = lib.mkForce true; #useDHCP = lib.mkForce true;
#dhcpcd.enable = true; #dhcpcd.enable = true;
interfaces = { interfaces = {
eno1.ipv4.addresses = [{ eno1.ipv4.addresses = [
{
address = "192.168.2.40"; address = "192.168.2.40";
prefixLength = 24; prefixLength = 24;
}]; }
];
}; };
defaultGateway = { defaultGateway = {
@ -65,5 +72,3 @@
environment.systemPackages = [ pkgs.onlyoffice-bin ]; environment.systemPackages = [ pkgs.onlyoffice-bin ];
} }

View File

@ -1,34 +1,53 @@
# 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 = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" "v4l2loopback"]; boot.kernelModules = [
"kvm-intel"
"v4l2loopback"
];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ]; boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
''; '';
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-label/NIXBOOT"; device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = [
"fmask=0022"
"dmask=0022"
];
}; };
fileSystems."/storage" = fileSystems."/storage" = {
{ device = "/dev/disk/by-label/STORAGE"; device = "/dev/disk/by-label/STORAGE";
fsType = "ext4"; fsType = "ext4";
}; };

View File

@ -40,5 +40,3 @@
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11"; # Did you read the comment?
} }

View File

@ -1,27 +1,41 @@
# 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 + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
boot.initrd.availableKernelModules = [ "ata_piix" "floppy" "sd_mod" "sr_mod" ]; boot.initrd.availableKernelModules = [
"ata_piix"
"floppy"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-label/NIXBOOT"; device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = [
"fmask=0022"
"dmask=0022"
];
}; };
swapDevices = [ ]; swapDevices = [ ];

View File

@ -7,9 +7,9 @@
General = { General = {
Enable = "Source,Sink,Media,Socket"; Enable = "Source,Sink,Media,Socket";
Experimental = true; Experimental = true;
}
}; };
} };
};
services.blueman.enable = true; # Graphical Manager services.blueman.enable = true; # Graphical Manager
@ -17,5 +17,5 @@
enable = true; enable = true;
package = pkgs.pulseaudioFull; package = pkgs.pulseaudioFull;
extraModules = [ pkgs.pulseaudio-modules-bt ]; extraModules = [ pkgs.pulseaudio-modules-bt ];
} };
} }

View File

@ -22,11 +22,13 @@
oci-containers = { oci-containers = {
backend = "docker"; backend = "docker";
containers = { containers = {
/*container-name = { /*
container-name = {
image = "image"; image = "image";
autoStart = true; autoStart = true;
ports = [ "127.0.0.1:1234:1234" ]; ports = [ "127.0.0.1:1234:1234" ];
};*/ };
*/
}; };
}; };
}; };

View File

@ -21,9 +21,18 @@
# the reason there's Noto Color Emoji everywhere is to override DejaVu's # the reason there's Noto Color Emoji everywhere is to override DejaVu's
# B&W emojis that would sometimes show instead of some Color emojis # B&W emojis that would sometimes show instead of some Color emojis
fontconfig.defaultFonts = { fontconfig.defaultFonts = {
serif = ["Noto Serif" "Noto Color Emoji"]; serif = [
sansSerif = ["Noto Sans" "Noto Color Emoji"]; "Noto Serif"
monospace = ["JetBrainsMono Nerd Font" "Noto Color Emoji"]; "Noto Color Emoji"
];
sansSerif = [
"Noto Sans"
"Noto Color Emoji"
];
monospace = [
"JetBrainsMono Nerd Font"
"Noto Color Emoji"
];
emoji = [ "Noto Color Emoji" ]; emoji = [ "Noto Color Emoji" ];
}; };
}; };

View File

@ -1,4 +1,9 @@
{ pkgs, username, lib, ... }: {
pkgs,
username,
lib,
...
}:
{ {
# given the users in this list the right to specify additional substituters via: # given the users in this list the right to specify additional substituters via:
# 1. `nixConfig.substituers` in `flake.nix` # 1. `nixConfig.substituers` in `flake.nix`
@ -8,7 +13,10 @@
# customise /etc/nix/nix.conf declaratively via `nix.settings` # customise /etc/nix/nix.conf declaratively via `nix.settings`
nix.settings = { nix.settings = {
# enable flakes globally # enable flakes globally
experimental-features = ["nix-command" "flakes"]; experimental-features = [
"nix-command"
"flakes"
];
auto-optimise-store = true; auto-optimise-store = true;
substituters = [ substituters = [
"https://cache.nixos.org" "https://cache.nixos.org"

View File

@ -1,4 +1,5 @@
{ pkgs, ... }: { { pkgs, ... }:
{
boot = { boot = {
plymouth = { plymouth = {

View File

@ -22,11 +22,13 @@
oci-containers = { oci-containers = {
backend = "podman"; backend = "podman";
containers = { containers = {
/*container-name = { /*
container-name = {
image = "image"; image = "image";
autoStart = true; autoStart = true;
ports = [ "127.0.0.1:1234:1234" ]; ports = [ "127.0.0.1:1234:1234" ];
};*/ };
*/
}; };
}; };
}; };

View File

@ -1,5 +1,12 @@
{ pkgs, username, lib, ... }: { {
/*services.greetd = { pkgs,
username,
lib,
...
}:
{
/*
services.greetd = {
enable = true; enable = true;
settings = { settings = {
default_session = { default_session = {
@ -7,7 +14,8 @@
command = "$HOME/.wayland-session"; command = "$HOME/.wayland-session";
}; };
}; };
};*/ };
*/
services.displayManager = { services.displayManager = {
sessionPackages = [ pkgs.hyprland ]; sessionPackages = [ pkgs.hyprland ];
@ -23,7 +31,11 @@
programs.regreet = { programs.regreet = {
enable = true; enable = true;
cageArgs = ["-s" "-m" "last" ]; cageArgs = [
"-s"
"-m"
"last"
];
settings = { settings = {
background = { background = {
path = "/etc/greetd/background.png"; path = "/etc/greetd/background.png";
@ -41,9 +53,18 @@
}; };
commands = { commands = {
reboot = ["systemctl" "reboot"]; reboot = [
poweroff = ["systemctl" "poweroff"]; "systemctl"
x11_prefix = [ "startx" "/usr/bin/env" ]; "reboot"
];
poweroff = [
"systemctl"
"poweroff"
];
x11_prefix = [
"startx"
"/usr/bin/env"
];
}; };
appearance = { appearance = {

View File

@ -11,7 +11,11 @@
users.users.${username} = { users.users.${username} = {
isNormalUser = true; isNormalUser = true;
description = username; description = username;
extraGroups = ["networkmanager" "wheel" "podman"]; extraGroups = [
"networkmanager"
"wheel"
"podman"
];
}; };
programs.steam.enable = true; programs.steam.enable = true;
@ -73,6 +77,11 @@
gnupg gnupg
fzf fzf
# nix related
nix-index
nix-tree
nix-health
# Archives # Archives
zip zip
unzip unzip
@ -80,8 +89,11 @@
xz xz
postman postman
#teamspeak6-client
]; ];
security.polkit.enable = true; security.polkit.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
programs.ssh.startAgent = true;
} }

View File

@ -1,4 +1,5 @@
{pkgs, catppuccin, ...}: { { pkgs, catppuccin, ... }:
{
################################################################################################################## ##################################################################################################################
# #
# All Phil's Home Manager Configuration # All Phil's Home Manager Configuration
@ -18,7 +19,7 @@
../../home/programs/media/media.nix ../../home/programs/media/media.nix
../../home/programs/media/audacity.nix ../../home/programs/media/audacity.nix
../../home/programs/media/obs.nix ../../home/programs/media/obs.nix
# ../../home/programs/media/spicetify.nix ../../home/programs/media/spicetify.nix
../../home/programs/productivity/blender.nix ../../home/programs/productivity/blender.nix
../../home/programs/productivity/slicer.nix ../../home/programs/productivity/slicer.nix
@ -26,8 +27,10 @@
../../home/programs/productivity/obsidian.nix ../../home/programs/productivity/obsidian.nix
../../home/programs/social/element.nix ../../home/programs/social/element.nix
../../home/programs/social/webcord.nix # ../../home/programs/social/webcord.nix
# ../../home/programs/social/nixcord.nix
../../home/programs/social/zapzap.nix ../../home/programs/social/zapzap.nix
../../home/programs/social/teamspeak.nix
../../home/programs/web/firefox.nix ../../home/programs/web/firefox.nix
../../home/programs/web/chromium.nix ../../home/programs/web/chromium.nix
@ -52,4 +55,7 @@
userName = "DerGrumpf"; userName = "DerGrumpf";
userEmail = "p.keier@beyerstedt-it.de"; userEmail = "p.keier@beyerstedt-it.de";
}; };
home.file.".config/hypr/hyprland.conf".enable = false;
} }

156
wl-copy Normal file
View File

@ -0,0 +1,156 @@
{
description = "NixOS configuration of DerGrumpf";
# the nixConfig here only affects the flake itself, not the system configuration!
nixConfig = {
extra-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
hyprland.url = "github:hyprwm/Hyprland";
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
nixcord.url = "github:kaylorben/nixcord";
/*
nixvim = {
url = "github:nix-community/nixvim/nixos-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
*/
catppuccin.url = "github:catppuccin/nix";
home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
};
outputs =
inputs@{
self,
nixpkgs,
home-manager,
catppuccin,
...
}:
{
packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
nixosConfigurations = {
iso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(
{ pkgs, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
environment.systemPackages = with pkgs; [
neovim
git
wget
curl
];
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
}
)
];
};
m920q =
let
username = "phil";
specialArgs = {
inherit username;
inherit inputs;
};
in
nixpkgs.lib.nixosSystem {
inherit specialArgs;
system = "x86_64-linux";
modules = [
./hosts/m920q
./users/${username}/nixos.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = inputs // specialArgs;
home-manager.users.${username} = import ./users/${username}/home.nix;
home-manager.sharedModules = [
inputs.nixcord.homeModules.nixcord
];
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
}
];
};
qemu =
let
username = "phil";
specialArgs = { inherit username; };
in
nixpkgs.lib.nixosSystem {
inherit specialArgs;
system = "x86_64-linux";
modules = [
./hosts/qemu
./users/${username}/nixos.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = inputs // specialArgs;
home-manager.users.${username} = import ./users/${username}/home.nix;
}
];
};
hp15-n028sg =
let
username = "phil";
specialArgs = { inherit username; };
in
nixpkgs.lib.nixosSystem {
inherit specialArgs;
system = "x86_64-linux";
modules = [
./hosts/hp15-n028sg
./users/${username}/nixos.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = inputs // specialArgs;
home-manager.users.${username} = import ./users/${username}/home.nix;
}
];
};
};
};
}