Added
This commit is contained in:
@@ -34,44 +34,37 @@
|
|||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "nix-desktop";
|
hostName = "nix-desktop";
|
||||||
networkmanager.enable = false;
|
networkmanager = {
|
||||||
useNetworkd = true;
|
|
||||||
useDHCP = false;
|
|
||||||
|
|
||||||
interfaces.eno1 = {
|
|
||||||
ipv4.addresses = [
|
|
||||||
{
|
|
||||||
address = "192.168.2.40";
|
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultGateway = {
|
|
||||||
address = "192.168.2.1";
|
|
||||||
interface = "eno1";
|
|
||||||
};
|
|
||||||
|
|
||||||
nameservers = [
|
|
||||||
"192.168.2.2"
|
|
||||||
"1.1.1.1"
|
|
||||||
"8.8.8.8"
|
|
||||||
];
|
|
||||||
|
|
||||||
wireless = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
userControlled.enable = false;
|
};
|
||||||
networks = {
|
useNetworkd = false;
|
||||||
"LANFRED".psk = "CooleJungsWG";
|
useDHCP = false;
|
||||||
|
wireless = {
|
||||||
|
enable = false; # Disable wpa_supplicant, NetworkManager handles WiFi
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
# Configure static IP for wired connection via NetworkManager
|
||||||
|
# Create this file: /etc/NetworkManager/system-connections/eno1.nmconnection
|
||||||
|
environment.etc."NetworkManager/system-connections/eno1.nmconnection" = {
|
||||||
|
text = ''
|
||||||
|
[connection]
|
||||||
|
id=eno1
|
||||||
|
type=ethernet
|
||||||
|
interface-name=eno1
|
||||||
|
|
||||||
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
|
[ipv4]
|
||||||
|
method=manual
|
||||||
|
address1=192.168.2.40/24
|
||||||
|
gateway=192.168.2.1
|
||||||
|
dns=192.168.2.2;1.1.1.1;8.8.8.8;
|
||||||
|
|
||||||
|
[ipv6]
|
||||||
|
method=auto
|
||||||
|
'';
|
||||||
|
mode = "0600";
|
||||||
|
};
|
||||||
|
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
system.stateVersion = "25.11"; # Did you read the comment?
|
system.stateVersion = "25.11"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,90 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = [ pkgs.noto-fonts-color-emoji ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
font-manager
|
||||||
|
gnome-characters
|
||||||
|
];
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# icon fonts
|
# icon fonts
|
||||||
material-icons
|
material-icons
|
||||||
# material-black-colors
|
|
||||||
material-design-icons
|
material-design-icons
|
||||||
icomoon-feather
|
icomoon-feather
|
||||||
|
|
||||||
|
noto-fonts-color-emoji
|
||||||
|
|
||||||
|
# Microsoft
|
||||||
|
corefonts
|
||||||
|
vista-fonts
|
||||||
|
|
||||||
|
# All Nerd Fonts
|
||||||
|
nerd-fonts._0xproto
|
||||||
|
nerd-fonts._3270
|
||||||
|
nerd-fonts.agave
|
||||||
|
nerd-fonts.anonymice
|
||||||
|
nerd-fonts.arimo
|
||||||
|
nerd-fonts.aurulent-sans-mono
|
||||||
|
nerd-fonts.bigblue-terminal
|
||||||
|
nerd-fonts.bitstream-vera-sans-mono
|
||||||
|
nerd-fonts.blex-mono
|
||||||
|
nerd-fonts.caskaydia-cove
|
||||||
|
nerd-fonts.caskaydia-mono
|
||||||
|
nerd-fonts.code-new-roman
|
||||||
|
nerd-fonts.comic-shanns-mono
|
||||||
|
nerd-fonts.commit-mono
|
||||||
|
nerd-fonts.cousine
|
||||||
|
nerd-fonts.d2coding
|
||||||
|
nerd-fonts.daddy-time-mono
|
||||||
|
nerd-fonts.dejavu-sans-mono
|
||||||
|
nerd-fonts.droid-sans-mono
|
||||||
|
nerd-fonts.envy-code-r
|
||||||
|
nerd-fonts.fantasque-sans-mono
|
||||||
nerd-fonts.fira-code
|
nerd-fonts.fira-code
|
||||||
nerd-fonts.fira-mono
|
nerd-fonts.fira-mono
|
||||||
nerd-fonts.adwaita-mono
|
nerd-fonts.geist-mono
|
||||||
|
nerd-fonts.go-mono
|
||||||
|
nerd-fonts.gohufont
|
||||||
|
nerd-fonts.hack
|
||||||
|
nerd-fonts.hasklug
|
||||||
|
nerd-fonts.heavy-data
|
||||||
|
nerd-fonts.hurmit
|
||||||
|
nerd-fonts.im-writing
|
||||||
|
nerd-fonts.inconsolata
|
||||||
|
nerd-fonts.inconsolata-go
|
||||||
|
nerd-fonts.inconsolata-lgc
|
||||||
|
nerd-fonts.intone-mono
|
||||||
|
nerd-fonts.iosevka
|
||||||
|
nerd-fonts.iosevka-term
|
||||||
|
nerd-fonts.iosevka-term-slab
|
||||||
nerd-fonts.jetbrains-mono
|
nerd-fonts.jetbrains-mono
|
||||||
|
nerd-fonts.lekton
|
||||||
|
nerd-fonts.liberation
|
||||||
|
nerd-fonts.lilex
|
||||||
|
nerd-fonts.martian-mono
|
||||||
|
nerd-fonts.meslo-lg
|
||||||
|
nerd-fonts.monaspace
|
||||||
|
nerd-fonts.monofur
|
||||||
|
nerd-fonts.monoid
|
||||||
|
nerd-fonts.mononoki
|
||||||
nerd-fonts.noto
|
nerd-fonts.noto
|
||||||
|
nerd-fonts.open-dyslexic
|
||||||
|
nerd-fonts.overpass
|
||||||
|
nerd-fonts.profont
|
||||||
|
nerd-fonts.proggy-clean-tt
|
||||||
|
nerd-fonts.recursive-mono
|
||||||
|
nerd-fonts.roboto-mono
|
||||||
|
nerd-fonts.sauce-code-pro
|
||||||
|
nerd-fonts.shure-tech-mono
|
||||||
|
nerd-fonts.space-mono
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
nerd-fonts.terminess-ttf
|
||||||
|
nerd-fonts.tinos
|
||||||
|
nerd-fonts.ubuntu
|
||||||
|
nerd-fonts.ubuntu-mono
|
||||||
|
nerd-fonts.ubuntu-sans
|
||||||
|
nerd-fonts.victor-mono
|
||||||
|
nerd-fonts.zed-mono
|
||||||
];
|
];
|
||||||
|
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
@@ -27,16 +97,16 @@
|
|||||||
# 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 = [
|
serif = [
|
||||||
"Noto Serif"
|
"FiraCode Nerd Font"
|
||||||
"Noto Color Emoji"
|
#"Noto Color Emoji"
|
||||||
];
|
];
|
||||||
sansSerif = [
|
sansSerif = [
|
||||||
"Noto Sans"
|
"FiraCode Nerd Font"
|
||||||
"Noto Color Emoji"
|
#"Noto Color Emoji"
|
||||||
];
|
];
|
||||||
monospace = [
|
monospace = [
|
||||||
"JetBrainsMono Nerd Font"
|
"FiraCode Nerd Font"
|
||||||
"Noto Color Emoji"
|
#"Noto Color Emoji"
|
||||||
];
|
];
|
||||||
emoji = [ "Noto Color Emoji" ];
|
emoji = [ "Noto Color Emoji" ];
|
||||||
};
|
};
|
||||||
|
|||||||
29
programs/wm/common/rofi/configs/config.ini
Normal file
29
programs/wm/common/rofi/configs/config.ini
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
[dmenu]
|
||||||
|
dmenu_command = rofi -theme ~/.config/rofi/network.rasi
|
||||||
|
active_chars = ==
|
||||||
|
highlight = True
|
||||||
|
highlight_fg =
|
||||||
|
highlight_bg =
|
||||||
|
highlight_bold = True
|
||||||
|
compact = False
|
||||||
|
pinentry =
|
||||||
|
wifi_icons =
|
||||||
|
format = {name:<{max_len_name}s} {sec:<{max_len_sec}s} {icon:>4}
|
||||||
|
list_saved = False
|
||||||
|
prompt = Networks
|
||||||
|
|
||||||
|
[dmenu_passphrase]
|
||||||
|
obscure = False
|
||||||
|
obscure_color = #222222
|
||||||
|
|
||||||
|
[pinentry]
|
||||||
|
description = Get network password
|
||||||
|
prompt = Password:
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
terminal = kitty
|
||||||
|
gui_if_available = True
|
||||||
|
gui = nm-connection-editor
|
||||||
|
|
||||||
|
[nmdm]
|
||||||
|
rescan_delay = 5
|
||||||
138
programs/wm/common/rofi/configs/network.rasi
Normal file
138
programs/wm/common/rofi/configs/network.rasi
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
* {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: #cdd6f4;
|
||||||
|
font: "JetBrainsMono Nerd Font 12";
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 600px;
|
||||||
|
background-color: @base;
|
||||||
|
border: 2px solid;
|
||||||
|
border-color: @sapphire;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 20px;
|
||||||
|
|
||||||
|
/* Center on screen */
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
x-offset: 0;
|
||||||
|
y-offset: 0;
|
||||||
|
|
||||||
|
background-image: url("~/.config/rofi/smoking_girl.png", both);
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
spacing: 15px;
|
||||||
|
children: [ "inputbar", "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: @mantle;
|
||||||
|
children: [ "prompt", "entry" ];
|
||||||
|
spacing: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
text-color: @sky;
|
||||||
|
font: "JetBrainsMono Nerd Font Bold 13";
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
placeholder: "Search networks...";
|
||||||
|
placeholder-color: @surface2;
|
||||||
|
text-color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
message {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: @mantle;
|
||||||
|
text-color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 10;
|
||||||
|
scrollbar: true;
|
||||||
|
spacing: 5px;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar {
|
||||||
|
width: 4px;
|
||||||
|
handle-width: 4px;
|
||||||
|
handle-color: @blue;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: @mantle;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 12px 15px;
|
||||||
|
border-radius: 2px;
|
||||||
|
background-color: @base;
|
||||||
|
text-color: @text;
|
||||||
|
spacing: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @blue;
|
||||||
|
border: 2px solid;
|
||||||
|
border-color: @teal;
|
||||||
|
text-color: @mantle;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Active/Connected network highlight */
|
||||||
|
element selected.active {
|
||||||
|
background-color: @sapphire;
|
||||||
|
border-color: @sky;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Urgent (disconnected/error) state */
|
||||||
|
element.urgent {
|
||||||
|
background-color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @red;
|
||||||
|
border-color: @peach;
|
||||||
|
}
|
||||||
BIN
programs/wm/common/rofi/configs/smoking_girl.png
Normal file
BIN
programs/wm/common/rofi/configs/smoking_girl.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.6 MiB |
@@ -7,6 +7,7 @@
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
rofi-power-menu
|
rofi-power-menu
|
||||||
rofi-calc
|
rofi-calc
|
||||||
|
networkmanager_dmenu
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
@@ -25,4 +26,8 @@
|
|||||||
# copy the scripts directory recursively
|
# copy the scripts directory recursively
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file.".config/networkmanager_dmenu/config.ini" = {
|
||||||
|
source = ./configs/config.ini;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,19 +58,19 @@
|
|||||||
rotate = 0;
|
rotate = 0;
|
||||||
|
|
||||||
# Ethernet
|
# Ethernet
|
||||||
format-ethernet = "ᯤ";
|
format-ethernet = "⇵{bandwidthTotalBits}";
|
||||||
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>\nCurrent : <b>{bandwidthTotalBits}</b>\nUp : <b>{bandwidthUpBits}</b>\nDown : <b>{bandwidthDownBits}</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>\nCurrent : <b>{bandwidthTotalBits}</b>\nUp : <b>{bandwidthUpBits}</b>\nDown : <b>{bandwidthDownBits}</b>";
|
||||||
format-linked = " {ifname} (No IP)";
|
format-linked = " {ifname} (No IP)";
|
||||||
format-disconnected = " ";
|
format-disconnected = " ";
|
||||||
tooltip-format-disconnected = "Disconnected";
|
tooltip-format-disconnected = "Disconnected";
|
||||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
on-click = "networkmanager_dmenu";
|
||||||
interval = 2;
|
interval = 2;
|
||||||
};
|
};
|
||||||
|
|
||||||
memory = {
|
memory = {
|
||||||
interval = 1;
|
interval = 1;
|
||||||
rotate = 270;
|
#rotate = 270;
|
||||||
format = "{icon}";
|
format = "{icon} {percentage}%";
|
||||||
format-icons = [
|
format-icons = [
|
||||||
""
|
""
|
||||||
""
|
""
|
||||||
@@ -87,8 +87,8 @@
|
|||||||
|
|
||||||
cpu = {
|
cpu = {
|
||||||
interval = 1;
|
interval = 1;
|
||||||
format = "{icon}";
|
format = "{icon} {usage}%";
|
||||||
rotate = 270;
|
#rotate = 270;
|
||||||
format-icons = [
|
format-icons = [
|
||||||
""
|
""
|
||||||
""
|
""
|
||||||
@@ -103,14 +103,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
temperature = {
|
temperature = {
|
||||||
format = "{temperatureC}°C ";
|
format = " {temperatureC}°C";
|
||||||
thermal-zone = 0;
|
thermal-zone = 0;
|
||||||
hwmon-path = "/sys/class/hwmon/hwmon0/temp1_input";
|
hwmon-path = "/sys/class/thermal/thermal_zone1/temp";
|
||||||
critical-threshold = 80;
|
critical-threshold = 80;
|
||||||
};
|
};
|
||||||
|
|
||||||
disk = {
|
disk = {
|
||||||
format = "{percentage_free}% ";
|
format = " {percentage_free}%";
|
||||||
tooltip = true;
|
tooltip = true;
|
||||||
tooltip-format = "{free} / {total} ({percentage_free})";
|
tooltip-format = "{free} / {total} ({percentage_free})";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -138,10 +138,10 @@ in
|
|||||||
preserve_split = "yes"; # you probably want this
|
preserve_split = "yes"; # you probably want this
|
||||||
};
|
};
|
||||||
|
|
||||||
gestures = {
|
# gestures = {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
# # See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
workspace_swipe = "off";
|
# workspace_swipe = "off";
|
||||||
};
|
# };
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
stateVersion = "24.05";
|
stateVersion = "24.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# users.group.username = { };
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCaLHfxVylghDMYR8t4QMUpeRRqXasNABQKBEy9MmhbUXCcWiPbPMSZH8FMHON34rm2OrXP1kY/8jQxqBJDA+SqpFR2AZ4Khk9iVMaq5GHxxpn2amZUjoBa+fB29WaiE1npV5JVJV3O0ylw6GtiCnpneE6fGx2MO1vOY/7zKrUX/OK7WfwkDpeEzZgV/j/md917HrzUVeZwdeTq3WCRO8Gew6R8Xs6FRjSiGuH0dq14D4Ow5Zf1cI1jx+JfD/5vGasw8HXPu1NdxsOE+6D7/22IKqGr+S74/lAoyyD5qqk0s05lw8UY/PXBLJaNLZu9Fwx0BqTHpJEvftpmvd9wUxgR3msx9VXtKNSrqivIbDgeU+3oGzzkrGZODl7FCp4XKGmbrX85Z6lKwEGgv5jez4MLZcmT86bxB7m1wIbqSbVtfhS+GI7yPTA/kLzzFa14Im/+LTj95pb8qs2ALMwTMP1j2f9A6D3RriOFihL+68qn+YbK58KuV1R0f+CQRmlfVbk= phil@web.cyperpunk.de"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCaLHfxVylghDMYR8t4QMUpeRRqXasNABQKBEy9MmhbUXCcWiPbPMSZH8FMHON34rm2OrXP1kY/8jQxqBJDA+SqpFR2AZ4Khk9iVMaq5GHxxpn2amZUjoBa+fB29WaiE1npV5JVJV3O0ylw6GtiCnpneE6fGx2MO1vOY/7zKrUX/OK7WfwkDpeEzZgV/j/md917HrzUVeZwdeTq3WCRO8Gew6R8Xs6FRjSiGuH0dq14D4Ow5Zf1cI1jx+JfD/5vGasw8HXPu1NdxsOE+6D7/22IKqGr+S74/lAoyyD5qqk0s05lw8UY/PXBLJaNLZu9Fwx0BqTHpJEvftpmvd9wUxgR3msx9VXtKNSrqivIbDgeU+3oGzzkrGZODl7FCp4XKGmbrX85Z6lKwEGgv5jez4MLZcmT86bxB7m1wIbqSbVtfhS+GI7yPTA/kLzzFa14Im/+LTj95pb8qs2ALMwTMP1j2f9A6D3RriOFihL+68qn+YbK58KuV1R0f+CQRmlfVbk= phil@web.cyperpunk.de"
|
||||||
];
|
];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
group = "phil";
|
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"video"
|
"video"
|
||||||
"kvm"
|
"kvm"
|
||||||
|
|||||||
Reference in New Issue
Block a user