Merge branch 'master' of git.dustinswan.com:dustinswan/dotfiles
This commit is contained in:
201
configuration.pc.nix
Normal file
201
configuration.pc.nix
Normal file
@@ -0,0 +1,201 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Denver";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
i18n.inputMethod.enable = true;
|
||||
i18n.inputMethod.type = "ibus";
|
||||
i18n.inputMethod.ibus.engines = with pkgs.ibus-engines; [ mozc ];
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.desktopManager.gnome.enable = true;
|
||||
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
keyboards.default = {
|
||||
ids = [ "*" ];
|
||||
settings = {
|
||||
main.capslock = "overload(control, esc)";
|
||||
|
||||
# Emacs bindings (Dvorak physical positions)
|
||||
# Use Alt-Backspace for delete-word (works everywhere natively)
|
||||
control = {
|
||||
a = "home"; # C-a → Home
|
||||
d = "end"; # C-e → End (dvorak 'e' = qwerty 'd')
|
||||
r = "up"; # C-p → Up (dvorak 'p' = qwerty 'r')
|
||||
l = "down"; # C-n → Down (dvorak 'n' = qwerty 'l')
|
||||
j = "backspace"; # C-h → Backspace (dvorak 'h' = qwerty 'j')
|
||||
m = "enter"; # C-m → Enter
|
||||
};
|
||||
|
||||
# macOS-style Super/Cmd shortcuts (Dvorak physical positions)
|
||||
meta = {
|
||||
a = "C-a"; # Cmd+a → select all
|
||||
i = "C-i"; # Cmd+c → copy (dvorak 'c' = qwerty 'i')
|
||||
k = "C-k"; # Cmd+t → new tab (dvorak 't' = qwerty 'k')
|
||||
l = "C-l"; # Cmd+n → new window (dvorak 'n' = qwerty 'l')
|
||||
comma = "C-comma"; # Cmd+w → close tab (dvorak 'w' = qwerty ',')
|
||||
period = "C-period"; # Cmd+v → paste (dvorak 'v' = qwerty '.')
|
||||
semicolon = "C-semicolon"; # Cmd+s → save (dvorak 's' = qwerty ';')
|
||||
slash = "C-slash"; # Cmd+z → undo (dvorak 'z' = qwerty '/')
|
||||
x = "C-x"; # Cmd+q → quit (dvorak 'q' = qwerty 'x')
|
||||
b = "C-b"; # Cmd+x → cut (dvorak 'x' = qwerty 'b')
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
variant = "dvorak";
|
||||
};
|
||||
|
||||
services.sunshine = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
capSysAdmin = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
services.udev.packages = with pkgs; [ sunshine ];
|
||||
security.polkit.enable = true;
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "dvorak";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.dustinswan = {
|
||||
isNormalUser = true;
|
||||
description = "Dustin Swan";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
shell = pkgs.fish;
|
||||
packages = with pkgs; [
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
|
||||
programs.fish.enable = true;
|
||||
programs.steam.enable = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
git
|
||||
# wget
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
24800 # Deskflow
|
||||
24801 # Deskflow
|
||||
# 47984 # Sunshine
|
||||
# 47989 # Sunshine
|
||||
# 47990 # Sunshine
|
||||
# 48010 # Sunshine
|
||||
53317 # LocalSend
|
||||
];
|
||||
|
||||
networking.firewall.allowedUDPPorts = [
|
||||
24800 # Deskflow
|
||||
24801 # Deskflow
|
||||
# 47998 # Sunshine
|
||||
# 47999 # Sunshine
|
||||
# 48000 # Sunshine
|
||||
# 48002 # Sunshine
|
||||
# 48010 # Sunshine
|
||||
53317 # LocalSend
|
||||
];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "25.11"; # Did you read the comment?
|
||||
|
||||
}
|
||||
@@ -128,6 +128,11 @@ in
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAbbrs = {
|
||||
nrs = "sudo nixos-rebuild switch";
|
||||
nrsu = "sudo nixos-rebuild switch --upgrade";
|
||||
hms = "home-manager switch";
|
||||
};
|
||||
plugins = [
|
||||
{
|
||||
name = "plugin-git";
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
nerd-fonts.iosevka
|
||||
high-tide tidal-hifi
|
||||
deskflow
|
||||
sunshine
|
||||
];
|
||||
|
||||
# home.keyboard.options = [ "ctrl:nocaps" "compose:ralt" ];
|
||||
|
||||
289
polybar
289
polybar
@@ -1,289 +0,0 @@
|
||||
[bar/top]
|
||||
; monitor = eDP-1
|
||||
width = 100%
|
||||
height = 34
|
||||
|
||||
background = #00000000
|
||||
foreground = #eeffffff
|
||||
|
||||
line-color = ${bar/top.background}
|
||||
line-size = 2
|
||||
|
||||
spacing = 1
|
||||
padding-right = 3
|
||||
module-margin = 2
|
||||
|
||||
font-0 = Iosevka Nerd Font:size=8;
|
||||
font-1 = Iosevka Nerd Font:size=9;
|
||||
font-2 = Iosevka Nerd Font:size=11;
|
||||
|
||||
modules-left = i3 mpd
|
||||
modules-right = backlight temperature cpu memory volume wireless-network wired-network battery date powermenu
|
||||
|
||||
tray-position = right
|
||||
tray-scale = 0.9
|
||||
tray-padding = 5
|
||||
|
||||
[module/backlight]
|
||||
type = internal/xbacklight
|
||||
format = <ramp> <bar>
|
||||
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
|
||||
bar-width = 10
|
||||
bar-indicator = |
|
||||
bar-indicator-font = 2
|
||||
bar-indicator-foreground = #ff
|
||||
bar-fill = ─
|
||||
bar-fill-font = 2
|
||||
bar-fill-foreground = #c9665e
|
||||
bar-empty = ─
|
||||
bar-empty-font = 2
|
||||
bar-empty-foreground = #44
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
full-at = 98
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-full = <ramp-capacity> <label-full>
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-0-foreground = #f53c3c
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-1-foreground = #ffa900
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
|
||||
bar-capacity-width = 10
|
||||
bar-capacity-format = %{+u}%{+o}%fill%%empty%%{-u}%{-o}
|
||||
bar-capacity-fill = █
|
||||
bar-capacity-fill-foreground = #ddffffff
|
||||
bar-capacity-fill-font = 2
|
||||
bar-capacity-empty = █
|
||||
bar-capacity-empty-font = 2
|
||||
bar-capacity-empty-foreground = #44ffffff
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-framerate = 750
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
|
||||
ws-icon-0 = 1;%{T3}%{T-}
|
||||
ws-icon-1 = 2;%{T3}爵%{T-}
|
||||
ws-icon-2 = 3;%{T3}%{T-}
|
||||
ws-icon-3 = 4;%{T2}%{T-}
|
||||
ws-icon-4 = 5;%{T2}%{T-}
|
||||
ws-icon-5 = 6;%{T3}%{T-}
|
||||
ws-icon-6 = 7;%{T3}%{T-}
|
||||
ws-icon-7 = 8;%{T2}%{T-}
|
||||
ws-icon-default = %{T2}%{T-}
|
||||
|
||||
format = <label-state> <label-mode>
|
||||
|
||||
label-dimmed-underline = #ff0000ff
|
||||
|
||||
label-focused = %icon%
|
||||
label-focused-foreground = #fff
|
||||
label-focused-background = #773f3f3f
|
||||
label-focused-underline = #c9665e
|
||||
label-focused-padding = 2
|
||||
|
||||
label-unfocused = %icon%
|
||||
label-unfocused-foreground = #dd
|
||||
label-unfocused-underline = #666
|
||||
label-unfocused-padding = 2
|
||||
|
||||
label-urgent = %icon%
|
||||
label-urgent-foreground = #000000
|
||||
label-urgent-background = #bd2c40
|
||||
label-urgent-underline = #9b0a20
|
||||
label-urgent-padding = 2
|
||||
|
||||
label-visible = %icon%
|
||||
label-visible-foreground = #55
|
||||
label-visible-padding = 2
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
;interval = 1.0
|
||||
format = <label> <ramp-coreload>
|
||||
label = CPU %percentage%%
|
||||
|
||||
ramp-coreload-0 = ▁
|
||||
ramp-coreload-0-foreground = #aaff77
|
||||
ramp-coreload-1 = ▂
|
||||
ramp-coreload-1-foreground = #aaff77
|
||||
ramp-coreload-2 = ▃
|
||||
ramp-coreload-2-foreground = #aaff77
|
||||
ramp-coreload-3 = ▄
|
||||
ramp-coreload-3-foreground = #aaff77
|
||||
ramp-coreload-4 = ▅
|
||||
ramp-coreload-4-foreground = #fba922
|
||||
ramp-coreload-5 = ▆
|
||||
ramp-coreload-5-foreground = #fba922
|
||||
ramp-coreload-6 = ▇
|
||||
ramp-coreload-6-foreground = #ff5555
|
||||
ramp-coreload-7 = █
|
||||
ramp-coreload-7-foreground = #ff5555
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
date = %%{F#99}%m-%d%%{F-} %%{F#fff}%H:%M%%{F-}
|
||||
date-alt = %%{F#fff}%A, %d %B %Y %%{F#fff}%H:%M%%{F#666}:%%{F#fba922}%S%%{F-}
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
format = <label> <ramp-used>
|
||||
label = RAM %percentage_used%%
|
||||
|
||||
ramp-used-0 = ▁
|
||||
ramp-used-0-foreground = #aaff77
|
||||
ramp-used-1 = ▂
|
||||
ramp-used-1-foreground = #aaff77
|
||||
ramp-used-2 = ▃
|
||||
ramp-used-2-foreground = #aaff77
|
||||
ramp-used-3 = ▄
|
||||
ramp-used-3-foreground = #aaff77
|
||||
ramp-used-4 = ▅
|
||||
ramp-used-4-foreground = #fba922
|
||||
ramp-used-5 = ▆
|
||||
ramp-used-5-foreground = #fba922
|
||||
ramp-used-6 = ▇
|
||||
ramp-used-6-foreground = #ff5555
|
||||
ramp-used-7 = █
|
||||
ramp-used-7-foreground = #ff5555
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
format-online = <icon-prev> <icon-stop> <toggle> <icon-next> <icon-repeat> <icon-random> <bar-progress> <label-time> <label-song>
|
||||
|
||||
icon-play =
|
||||
icon-pause =
|
||||
icon-stop =
|
||||
icon-prev =
|
||||
icon-next =
|
||||
icon-random =
|
||||
icon-repeat =
|
||||
|
||||
toggle-on-foreground =
|
||||
toggle-off-foreground = #55
|
||||
|
||||
bar-progress-width = 15
|
||||
bar-progress-format = %{A4:mpdseek+2: A5:mpdseek-2:}%fill%%indicator%%empty%%{A A}
|
||||
bar-progress-indicator = ┼
|
||||
bar-progress-indicator-foreground = #ff
|
||||
bar-progress-fill = ─
|
||||
bar-progress-fill-foreground = #bb
|
||||
bar-progress-empty = ─
|
||||
bar-progress-empty-foreground = #44
|
||||
|
||||
[module/wireless-network]
|
||||
type = internal/network
|
||||
interface = wlp5s0
|
||||
interval = 3.0
|
||||
ping-interval = 10
|
||||
|
||||
format-connected = <ramp-signal>
|
||||
label-connected = %essid%
|
||||
label-disconnected = %{T2}睊 %{T-}
|
||||
label-disconnected-foreground = #66
|
||||
|
||||
ramp-signal-font = 2
|
||||
ramp-signal-0 = 直
|
||||
ramp-signal-1 = 直
|
||||
ramp-signal-2 = 直
|
||||
ramp-signal-3 = 直
|
||||
ramp-signal-4 = 直
|
||||
|
||||
animation-packetloss-0 =
|
||||
animation-packetloss-0-foreground = #ffa64c
|
||||
animation-packetloss-1 = 直
|
||||
animation-packetloss-1-foreground = ${bar/top.foreground}
|
||||
animation-packetloss-framerate = 500
|
||||
|
||||
[module/wired-network]
|
||||
type = internal/network
|
||||
interface = enp0s31f6
|
||||
interval = 3.0
|
||||
|
||||
label-connected = %{T2}ﯱ %{T-}
|
||||
label-disconnected-foreground = #66
|
||||
|
||||
[module/volume]
|
||||
type = internal/alsa
|
||||
master-mixer = Master
|
||||
|
||||
format-volume = <ramp-volume> <label-volume> <bar-volume>
|
||||
|
||||
format-muted = <label-muted> <bar-volume>
|
||||
label-muted = %{T2}ﱛ %{T-} muted
|
||||
label-muted-foreground = #999
|
||||
|
||||
ramp-volume-font = 3
|
||||
ramp-volume-0 = 奄
|
||||
ramp-volume-1 = 奔
|
||||
ramp-volume-2 = 墳
|
||||
|
||||
bar-volume-width = 8
|
||||
bar-volume-foreground-0 = #aaff77
|
||||
bar-volume-foreground-1 = #aaff77
|
||||
bar-volume-foreground-2 = #fba922
|
||||
bar-volume-foreground-3 = #ff5555
|
||||
bar-volume-indicator = ┤
|
||||
bar-volume-indicator-foreground = #ff
|
||||
bar-volume-fill = ─
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-foreground = #444444
|
||||
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
; format-padding = 5
|
||||
|
||||
label-open =
|
||||
label-close =
|
||||
|
||||
menu-0-0 = Terminate WM
|
||||
menu-0-0-foreground = #fba922
|
||||
menu-0-0-exec = bspc quit -1
|
||||
menu-0-1 = Reboot
|
||||
menu-0-1-foreground = #fba922
|
||||
menu-0-1-exec = menu_open-1
|
||||
menu-0-2 = Power off
|
||||
menu-0-2-foreground = #fba922
|
||||
menu-0-2-exec = menu_open-2
|
||||
|
||||
menu-1-0 = Cancel
|
||||
menu-1-0-foreground = #fba922
|
||||
menu-1-0-exec = menu_open-0
|
||||
menu-1-1 = Reboot
|
||||
menu-1-1-foreground = #fba922
|
||||
menu-1-1-exec = sudo reboot
|
||||
|
||||
menu-2-0 = Power off
|
||||
menu-2-0-foreground = #fba922
|
||||
menu-2-0-exec = sudo poweroff
|
||||
menu-2-1 = Cancel
|
||||
menu-2-1-foreground = #fba922
|
||||
menu-2-1-exec = menu_open-0
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
format = <ramp> <label>
|
||||
ramp-font = 2
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-3 =
|
||||
ramp-4 =
|
||||
Reference in New Issue
Block a user