mirror of
https://gitlab.com/Zaney/zaneyos.git
synced 2024-11-07 15:23:59 +01:00
Switch to new flake configuration
This commit is contained in:
parent
41202311e0
commit
0bd5a4981c
47
README.md
47
README.md
@ -6,30 +6,43 @@ ZaneyOS is my production machines config files.
|
||||
|
||||
## What Is NixOS
|
||||
|
||||
example
|
||||
NixOS is a Linux distribution known for its unique approach to package management and system configuration. It uses the Nix package manager, which is based on a purely functional approach to managing software and system configurations.
|
||||
|
||||
In NixOS, the entire operating system configuration is described declaratively in a configuration file, allowing for reproducibility and easy rollbacks. This means that changes to the system can be tracked and reversed, making it robust and reliable for system administrators and developers.
|
||||
|
||||
## Why Choose NixOS
|
||||
|
||||
Choosing NixOS often depends on specific needs and preferences. Here are some reasons why people opt for NixOS:
|
||||
|
||||
### Declarative Configuration
|
||||
|
||||
NixOS employs a declarative approach to system configuration. This means the entire system configuration is defined in a single file, making it reproducible and easier to manage. Changes are tracked and can be rolled back if needed.
|
||||
|
||||
### Functional Package Management
|
||||
|
||||
The Nix package manager ensures that each package and its dependencies are isolated and managed separately. This prevents conflicts between different versions of software and enables easy rollbacks to previous versions.
|
||||
|
||||
### Reproducibility
|
||||
|
||||
NixOS allows for consistent and reproducible environments, critical in development, testing, and deployment scenarios. It's particularly valuable in DevOps and CI/CD pipelines where consistent environments are essential.
|
||||
|
||||
### Multiple Environments and Rollbacks
|
||||
|
||||
With NixOS, it's possible to have multiple versions of the same software installed simultaneously without conflicts. This flexibility is especially useful for developers or those requiring different versions of software for various projects.
|
||||
|
||||
### Community and Customization
|
||||
|
||||
NixOS has an active community that contributes to its growth, sharing configurations, and offering support. Its customizable nature allows users to tailor their systems to their needs.
|
||||
|
||||
# Steps To Reproduce My System
|
||||
|
||||
## 1a) Starting From Fresh Install
|
||||
|
||||
Install NixOS as you normally would. Under the NixOS Downloads Page Section you will find a GNOME or Plasma live isos and you can install any desktop environment you please.
|
||||
Clone this repo, replace your hardware-configuration.nix with the one inside the workstation folder, enable flakes in your default configuration.nix, then go into repo folder and run this command:
|
||||
|
||||
After booting into the install ensure you are connected to the internet and go into your /etc/nixos/configuration.nix file and ensure git and your favorite editor are in system or user packages. After doing that run the sudo nixos-rebuild switch command.
|
||||
```
|
||||
sudo nixos-rebuild switch --flake .#workstation
|
||||
```
|
||||
|
||||
Now you are ready to move onto the pulling my dotfiles section.
|
||||
|
||||
## 1b) On Excisting System
|
||||
|
||||
asdasd
|
||||
|
||||
## 2) Pulling In Dotfiles
|
||||
|
||||
Now that you have git you can pull the dotfiles like so:
|
||||
|
||||
## 3) Run The Build Script
|
||||
|
||||
Go into the zaneyos folder you got and you'll see a build script. You can run this command now to install my configs, you can also run this after you make any changes in that folder.
|
||||
Replace #workstation with laptop to switch to my Intel Whitebook laptop's configuration.
|
||||
|
||||
Hope you enjoy!
|
||||
|
14
build
14
build
@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
sudo rm /etc/nixos/configuration.nix
|
||||
sudo rm /etc/nixos/home.nix
|
||||
sudo rm -rf /etc/configfiles
|
||||
sudo rm -rf /etc/scripts
|
||||
|
||||
sudo cp nixos/configuration.nix /etc/nixos/
|
||||
sudo cp nixos/home.nix /etc/nixos/
|
||||
|
||||
sudo cp -r configfiles/ /etc/
|
||||
sudo cp -r scripts/ /etc/
|
||||
|
||||
sudo nixos-rebuild switch
|
@ -6,4 +6,6 @@
|
||||
exec-once = dbus-update-activation-environment --systemd --all
|
||||
exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once = hyprctl setcursor Bibata-Modern-Ice 24
|
||||
exec-once = autohypr
|
||||
exec-once = swww init
|
||||
exec-once = waybar
|
||||
exec-once = swaync
|
@ -21,9 +21,7 @@
|
||||
# flipped + 90 degrees -> 5
|
||||
# flipped + 180 degrees -> 6
|
||||
# flipped + 270 degrees -> 7
|
||||
monitor=,highres,auto,auto # Automatic Configuration
|
||||
monitor=DP-1,highres,0x560,1 # Vertical Ultrawide
|
||||
monitor=HDMI-A-1,highres,2560x0,1,transform,3 # Vertical Ultrawide
|
||||
monitor=,highres,auto,1 # Automatic Configuration
|
||||
|
||||
# ___ ______ _________ ________ ______
|
||||
# __ | / /__(_)____________ /________ __ ___ __ \___ ____ /____________
|
@ -6,16 +6,16 @@
|
||||
# /____/ /____/
|
||||
$mainMod = SUPER
|
||||
# Sound Control Keybinds
|
||||
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
# Brightness Control Keybinds
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl set +5%
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl set +5%
|
||||
# System Application Keybinds
|
||||
bind = $mainMod, Return, exec, kitty
|
||||
bind = $mainMod SHIFT, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
||||
bind = $mainMod, Return, exec, kitty
|
||||
bind = $mainMod SHIFT, Return, exec, rofi -show drun
|
||||
bind = $mainMod SHIFT, W, exec, kitty -e amfora
|
||||
bind = $mainMod SHIFT, S, exec, web-search
|
||||
bind = $mainMod, W, exec, firefox
|
||||
@ -24,36 +24,36 @@ bind = $mainMod, S, exec, grim -g "$(slurp)"
|
||||
bind = $mainMod, D, exec, discord
|
||||
bind = $mainMod, O, exec, obs
|
||||
bind = $mainMod, G, exec, gimp
|
||||
bind = $mainMod SHIFT, G, exec, godot4
|
||||
bind = $mainMod SHIFT, G, exec, godot4
|
||||
bind = $mainMod, T, exec, thunar
|
||||
bind = $mainMod, M, exec, ario
|
||||
# OBS Global Keybinds
|
||||
bind = ALT, F1, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F2, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F3, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F4, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F5, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F1, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F2, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F3, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F4, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = ALT, F5, pass, ^(com\.obsproject\.Studio)$
|
||||
# Hyprland Keybinds
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod SHIFT, I, togglesplit, # dwindle
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod SHIFT, F, togglefloating,
|
||||
bind = $mainMod SHIFT, C, exit,
|
||||
bind = $mainMod SHIFT, I, togglesplit, # dwindle
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod SHIFT, F, togglefloating,
|
||||
bind = $mainMod SHIFT, C, exit,
|
||||
# Move window with mainMod + shift + arrow keys
|
||||
bind = $mainMod SHIFT, left, movewindow, l
|
||||
bind = $mainMod SHIFT, right, movewindow, r
|
||||
bind = $mainMod SHIFT, up, movewindow, u
|
||||
bind = $mainMod SHIFT, down, movewindow, d
|
||||
bind = $mainMod SHIFT, h, movewindow, l
|
||||
bind = $mainMod SHIFT, l, movewindow, r
|
||||
bind = $mainMod SHIFT, k, movewindow, u
|
||||
bind = $mainMod SHIFT, j, movewindow, d
|
||||
bind = $mainMod SHIFT, left, movewindow, l
|
||||
bind = $mainMod SHIFT, right, movewindow, r
|
||||
bind = $mainMod SHIFT, up, movewindow, u
|
||||
bind = $mainMod SHIFT, down, movewindow, d
|
||||
bind = $mainMod SHIFT, h, movewindow, l
|
||||
bind = $mainMod SHIFT, l, movewindow, r
|
||||
bind = $mainMod SHIFT, k, movewindow, u
|
||||
bind = $mainMod SHIFT, j, movewindow, d
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
bind = $mainMod, down, movefocus, d
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, k, movefocus, u
|
81
config/rofi/config.rasi
Normal file
81
config/rofi/config.rasi
Normal file
@ -0,0 +1,81 @@
|
||||
@theme "/dev/null"
|
||||
|
||||
* {
|
||||
bg: #181E27;
|
||||
background-color: @bg;
|
||||
}
|
||||
|
||||
configuration {
|
||||
show-icons: true;
|
||||
icon-theme: "Papirus";
|
||||
location: 0;
|
||||
font: "JetBrainsMono Nerd Font 12";
|
||||
display-drun: "Launch:";
|
||||
}
|
||||
|
||||
window {
|
||||
width: 35%;
|
||||
transparency: "real";
|
||||
orientation: vertical;
|
||||
border-color: #74adc0;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, listview];
|
||||
}
|
||||
|
||||
|
||||
// ELEMENT
|
||||
// -----------------------------------
|
||||
|
||||
element {
|
||||
padding: 4 12;
|
||||
text-color: #EFE7DD;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: #74adc0;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 16 px;
|
||||
background-color: inherit;
|
||||
padding: 0 6 0 0;
|
||||
alignment: vertical;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 9;
|
||||
padding: 8 0;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
fixed-lines: true;
|
||||
border: 0 10 6 10;
|
||||
}
|
||||
|
||||
// INPUT BAR
|
||||
//------------------------------------------------
|
||||
|
||||
entry {
|
||||
text-color: #EFE7DD;
|
||||
padding: 10 10 0 0;
|
||||
margin: 0 -2 0 0;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-image: url("~/.config/rofi/rofi.jpg", width);
|
||||
padding: 180 0 0;
|
||||
margin: 0 0 0 0;
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: #aaffaa;
|
||||
padding: 10 6 0 10;
|
||||
margin: 0 -2 0 0;
|
||||
}
|
BIN
config/rofi/rofi.jpg
Normal file
BIN
config/rofi/rofi.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
@ -89,7 +89,7 @@
|
||||
"command": "steam"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"label": "",
|
||||
"command": "firefox"
|
||||
},
|
||||
{
|
@ -1,5 +1,5 @@
|
||||
* {
|
||||
font-family: Ubuntu Nerd Font;
|
||||
font-family: Ubuntu;
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
@ -166,7 +166,7 @@
|
||||
}
|
||||
|
||||
.blank-window {
|
||||
background: alpha(black, 0.1)
|
||||
background: alpha(black, 0)
|
||||
}
|
||||
|
||||
.widget-title {
|
@ -1,23 +0,0 @@
|
||||
Xcursor.theme: Bibata-Modern-Ice
|
||||
Xcursor.size: 24
|
||||
|
||||
! Tokyo Night
|
||||
*foreground: #c0caf5
|
||||
*background: #1a1b26
|
||||
*color0: #15161e
|
||||
*color1: #f7768e
|
||||
*color2: #9ece6a
|
||||
*color3: #e0af68
|
||||
*color4: #7aa2f7
|
||||
*color5: #bb9af7
|
||||
*color6: #7dcfff
|
||||
*color7: #a9b1d6
|
||||
|
||||
*color8: #414868
|
||||
*color9: #f7768e
|
||||
*color10: #9ece6a
|
||||
*color11: #e0af68
|
||||
*color12: #7aa2f7
|
||||
*color13: #bb9af7
|
||||
*color14: #7dcfff
|
||||
*color15: #c0caf5
|
@ -1,22 +0,0 @@
|
||||
[character]
|
||||
error_symbol = "[λ](bold #ff5555)"
|
||||
success_symbol = "[λ](bold #f8f8f2)"
|
||||
|
||||
[cmd_duration]
|
||||
style = "bold #f1fa8c"
|
||||
|
||||
[directory]
|
||||
style = "bold #50fa7b"
|
||||
|
||||
[git_branch]
|
||||
style = "bold #ff79c6"
|
||||
|
||||
[git_status]
|
||||
style = "bold #ff5555"
|
||||
|
||||
[hostname]
|
||||
style = "bold #ff5555"
|
||||
|
||||
[username]
|
||||
format = "[$user]($style) on "
|
||||
style_user = "bold #bd93f9"
|
@ -1,35 +0,0 @@
|
||||
# ███████╗ █████╗ ███╗ ██╗███████╗██╗ ██╗███████╗
|
||||
# ╚══███╔╝██╔══██╗████╗ ██║██╔════╝╚██╗ ██╔╝██╔════╝
|
||||
# ███╔╝ ███████║██╔██╗ ██║█████╗ ╚████╔╝ ███████╗
|
||||
# ███╔╝ ██╔══██║██║╚██╗██║██╔══╝ ╚██╔╝ ╚════██║
|
||||
# ███████╗██║ ██║██║ ╚████║███████╗ ██║ ███████║
|
||||
# ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚══════╝
|
||||
# Dotfiles circa 2023
|
||||
|
||||
# Font
|
||||
font = Ubuntu Nerd Font
|
||||
font-size = 18
|
||||
|
||||
# Window Style
|
||||
anchor = top
|
||||
width = 100%
|
||||
height = 100%
|
||||
outline-width = 0
|
||||
border-width = 0
|
||||
min-input-width = 130
|
||||
result-spacing = 30
|
||||
padding-top = 35%
|
||||
padding-bottom = 0
|
||||
padding-left = 35%
|
||||
padding-right = 0
|
||||
num-results = 5
|
||||
prompt-text = "What Ya Need? "
|
||||
|
||||
background-color = #000A
|
||||
text-color = #c0caf5
|
||||
input-color = #7aa2f7
|
||||
selection-color = #7dcfff
|
||||
selection-match-color = #9ece6a
|
||||
|
||||
clip-to-padding = false
|
||||
require-match = false
|
44
flake.nix
Normal file
44
flake.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
description = "ZaneyOS";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.11";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
};
|
||||
|
||||
outputs = inputs@{ nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
laptop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit system; inherit inputs; };
|
||||
modules = [ ./laptop/configuration.nix
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.zaney = import ./home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
workstation = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit system; inherit inputs; };
|
||||
modules = [ ./workstation/configuration.nix
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.zaney = import ./home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
0
configfiles/UniSans-Heavy.otf → fonts/UniSans-Heavy.otf
Executable file → Normal file
0
configfiles/UniSans-Heavy.otf → fonts/UniSans-Heavy.otf
Executable file → Normal file
412
home.nix
Normal file
412
home.nix
Normal file
@ -0,0 +1,412 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.username = "zaney";
|
||||
home.homeDirectory = "/home/zaney";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
home.file.".config/zaney-stinger.mov" = {
|
||||
source = ./media/zaney-stinger.mov;
|
||||
};
|
||||
home.file.".config/wallpaper.png" = {
|
||||
source = ./media/wallpaper.png;
|
||||
};
|
||||
home.file.".local/share/fonts" = {
|
||||
source = ./fonts;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".vimrc" = {
|
||||
source = ./config/vimrc;
|
||||
};
|
||||
home.file.".emoji" = {
|
||||
source = ./config/emoji;
|
||||
};
|
||||
home.file.".config/rofi" = {
|
||||
source = ./config/rofi;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/swaync" = {
|
||||
source = ./config/swaync;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/pipewire/pipewire.conf" = {
|
||||
source = ./config/pipewire/pipewire.conf;
|
||||
};
|
||||
home.file.".config/neofetch/config.conf" = {
|
||||
source = ./config/neofetch/config.conf;
|
||||
};
|
||||
home.file.".config/hypr" = {
|
||||
source = ./config/hyprland;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
xresources.properties = {
|
||||
"Xcursor.size" = 24;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Tyler Kelley";
|
||||
userEmail = "tylerzanekelley@gmail.com";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
neofetch lolcat cmatrix discord firefox btop libvirt
|
||||
swww polkit_gnome grim slurp lm_sensors unzip unrar gnome.file-roller
|
||||
libnotify swaynotificationcenter rofi-wayland xfce.thunar imv v4l-utils
|
||||
ydotool wl-clipboard socat cowsay lsd pkg-config transmission-gtk mpv
|
||||
gimp obs-studio blender kdenlive meson glibc hugo gnumake ninja go
|
||||
nodejs godot_4 rustup pavucontrol audacity zeroad xonotic gvfs udiskie
|
||||
openra font-awesome symbola noto-fonts-color-emoji material-icons
|
||||
# Import Scripts
|
||||
(import ./scripts/emopicker9000.nix { inherit pkgs; })
|
||||
(import ./scripts/task-waybar.nix { inherit pkgs; })
|
||||
(import ./scripts/squirtle.nix { inherit pkgs; })
|
||||
];
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
qt.enable = true;
|
||||
qt.platformTheme = "gtk";
|
||||
qt.style.name = "adwaita-dark";
|
||||
qt.style.package = pkgs.adwaita-qt;
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "Ubuntu";
|
||||
size = 12;
|
||||
package = pkgs.ubuntu_font_family;
|
||||
};
|
||||
theme = {
|
||||
name = "Tokyonight-Storm-BL";
|
||||
package = pkgs.tokyo-night-gtk;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "Bibata-Modern-Ice";
|
||||
package = pkgs.bibata-cursors;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
sessionVariables = {
|
||||
|
||||
};
|
||||
shellAliases = {
|
||||
sv="sudo vim";
|
||||
v="vim";
|
||||
ls="lsd";
|
||||
ll="lsd -l";
|
||||
la="lsd -a";
|
||||
lal="lsd -al";
|
||||
".."="cd ..";
|
||||
};
|
||||
};
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
font.name = "JetBrainsMono Nerd Font";
|
||||
font.size = 16;
|
||||
settings = {
|
||||
scrollback_lines = 2000;
|
||||
wheel_scroll_min_lines = 1;
|
||||
window_padding_width = 6;
|
||||
confirm_os_window_close = 0;
|
||||
background_opacity = "0.85";
|
||||
};
|
||||
extraConfig = ''
|
||||
foreground #a9b1d6
|
||||
background #1a1b26
|
||||
color0 #414868
|
||||
color8 #414868
|
||||
color1 #f7768e
|
||||
color9 #f7768e
|
||||
color2 #73daca
|
||||
color10 #73daca
|
||||
color3 #e0af68
|
||||
color11 #e0af68
|
||||
color4 #7aa2f7
|
||||
color12 #7aa2f7
|
||||
color5 #bb9af7
|
||||
color13 #bb9af7
|
||||
color6 #7dcfff
|
||||
color14 #7dcfff
|
||||
color7 #c0caf5
|
||||
color15 #c0caf5
|
||||
cursor #c0caf5
|
||||
cursor_text_color #1a1b26
|
||||
selection_foreground none
|
||||
selection_background #28344a
|
||||
url_color #9ece6a
|
||||
active_border_color #3d59a1
|
||||
inactive_border_color #101014
|
||||
bell_border_color #e0af68
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_foreground #3d59a1
|
||||
active_tab_background #16161e
|
||||
active_tab_font_style bold
|
||||
inactive_tab_foreground #787c99
|
||||
inactive_tab_background #16161e
|
||||
inactive_tab_font_style bold
|
||||
tab_bar_background #101014
|
||||
'';
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-left = [ "hyprland/window" ];
|
||||
modules-center = [ "network" "pulseaudio" "cpu" "hyprland/workspaces" "memory" "disk" "clock" ];
|
||||
modules-right = [ "custom/notification" "tray" ];
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = "{: %I:%M %p}";
|
||||
tooltip = false;
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 60;
|
||||
separate-outputs = false;
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = ["" "" "" "" ""];
|
||||
format-ethernet = ": {bandwidthDownOctets} : {bandwidthUpOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = ["" "" ""];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = ["" "" "" "" "" "" "" "" "" ""];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}];
|
||||
style = ''
|
||||
* {
|
||||
font-size: 16px;
|
||||
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
window#waybar {
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #f8f8f2;
|
||||
}
|
||||
#workspaces {
|
||||
background: linear-gradient(180deg, #414868, #24283b);
|
||||
margin: 5px;
|
||||
padding: 0px 1px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #15161e;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #15161e;
|
||||
background-color: #1a1b26;
|
||||
opacity: 1.0;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #15161e;
|
||||
background: #7aa2f7;
|
||||
border-radius: 15px;
|
||||
min-width: 40px;
|
||||
transition: all 0.3s ease-in-out;
|
||||
opacity: 1.0;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
color: #15161e;
|
||||
background: #7aa2f7;
|
||||
border-radius: 15px;
|
||||
opacity: 1.0;
|
||||
}
|
||||
tooltip {
|
||||
background: #1a1b26;
|
||||
border: 1px solid #7aa2f7;
|
||||
border-radius: 10px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #c0caf5;
|
||||
}
|
||||
#window {
|
||||
color: #565f89;
|
||||
background: #1a1b26;
|
||||
border-radius: 0px 15px 50px 0px;
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#memory {
|
||||
color: #2ac3de;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#clock {
|
||||
color: #c0caf5;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#cpu {
|
||||
color: #b4f9f8;
|
||||
background: #1a1b26;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#disk {
|
||||
color: #9ece6a;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#battery {
|
||||
color: #f7768e;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#network {
|
||||
color: #ff9e64;
|
||||
background: #1a1b26;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#tray {
|
||||
color: #bb9af7;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 0px 0px 50px;
|
||||
margin: 5px 0px 5px 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #bb9af7;
|
||||
background: #1a1b26;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#custom-notification {
|
||||
color: #7dcfff;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
127
laptop/configuration.nix
Normal file
127
laptop/configuration.nix
Normal file
@ -0,0 +1,127 @@
|
||||
# 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’).
|
||||
|
||||
{ inputs, 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;
|
||||
boot.kernelModules = [ "v4l2loopback" ];
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
|
||||
networking.hostName = "nixtop"; # Define your hostname.
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
# 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";
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.zaney = {
|
||||
isNormalUser = true;
|
||||
description = "Tyler Kelley";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim wget curl
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
];
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
};
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
};
|
||||
|
||||
# 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:
|
||||
services.openssh.enable = true;
|
||||
services.fstrim.enable = true;
|
||||
services.xserver = {
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
libinput.enable = true;
|
||||
};
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
hardware.pulseaudio.enable = false;
|
||||
sound.enable = true;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
nix = {
|
||||
settings.auto-optimise-store = true;
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
};
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
}
|
47
laptop/hardware-configuration.nix
Normal file
47
laptop/hardware-configuration.nix
Normal file
@ -0,0 +1,47 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/8f47c564-523f-4eca-9644-69d2bed92f0a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-4f3ec042-9a98-4e10-84b3-3e081b030d6e".device = "/dev/disk/by-uuid/4f3ec042-9a98-4e10-84b3-3e081b030d6e";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/3B15-2EB6";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/cb501f9a-6814-477f-b8d5-1a8aaba243a9";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-9b120c21-77b6-4291-bee0-185c5a1e3682".device = "/dev/disk/by-uuid/9b120c21-77b6-4291-bee0-185c5a1e3682";
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp61s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp62s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
Before Width: | Height: | Size: 6.7 MiB After Width: | Height: | Size: 6.7 MiB |
422
nixos/home.nix
422
nixos/home.nix
@ -1,422 +0,0 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(import "${home-manager}/nixos")
|
||||
];
|
||||
|
||||
home-manager.users.zaney = {
|
||||
|
||||
home.username = "zaney";
|
||||
home.homeDirectory = "/home/zaney";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
home.file.".config/swaync/config.json" = {
|
||||
source = ../configfiles/swaync/config.json;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".Xresources" = {
|
||||
source = ../configfiles/.Xresources;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".vimrc" = {
|
||||
source = ../configfiles/.vimrc;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/tofi/config" = {
|
||||
source = ../configfiles/tofi/config;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/wallpaper.png" = {
|
||||
source = ../configfiles/wallpaper.png;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/swaync/style.css" = {
|
||||
source = ../configfiles/swaync/style.css;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/pipewire/pipewire.conf" = {
|
||||
source = ../configfiles/pipewire/pipewire.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/neofetch/config.conf" = {
|
||||
source = ../configfiles/neofetch/config.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".local/share/scriptdeps/emoji" = {
|
||||
source = ../configfiles/emoji;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/hypr/hyprland.conf" = {
|
||||
source = ../configfiles/hypr/hyprland.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/hypr/keybindings.conf" = {
|
||||
source = ../configfiles/hypr/keybindings.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/hypr/theme.conf" = {
|
||||
source = ../configfiles/hypr/theme.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/hypr/animations.conf" = {
|
||||
source = ../configfiles/hypr/animations.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/hypr/autostart.conf" = {
|
||||
source = ../configfiles/hypr/autostart.conf;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/zaney-stinger.mov" = {
|
||||
source = ../configfiles/zaney-stinger.mov;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".local/share/fonts/UniSans-Heavy.otf" = {
|
||||
source = ../configfiles/UniSans-Heavy.otf;
|
||||
recursive = true;
|
||||
};
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
# x11.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
qt.enable = true;
|
||||
qt.platformTheme = "gtk";
|
||||
qt.style.name = "adwaita-dark";
|
||||
qt.style.package = pkgs.adwaita-qt;
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "Ubuntu";
|
||||
size = 12;
|
||||
package = pkgs.ubuntu_font_family;
|
||||
};
|
||||
theme = {
|
||||
name = "Tokyonight-Storm-BL";
|
||||
package = pkgs.tokyo-night-gtk;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "Bibata-Modern-Ice";
|
||||
package = pkgs.bibata-cursors;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
font.name = "JetBrainsMono Nerd Font";
|
||||
font.size = 16;
|
||||
settings = {
|
||||
scrollback_lines = 2000;
|
||||
wheel_scroll_min_lines = 1;
|
||||
window_padding_width = 6;
|
||||
confirm_os_window_close = 0;
|
||||
background_opacity = "0.85";
|
||||
};
|
||||
extraConfig = ''
|
||||
foreground #a9b1d6
|
||||
background #1a1b26
|
||||
color0 #414868
|
||||
color8 #414868
|
||||
color1 #f7768e
|
||||
color9 #f7768e
|
||||
color2 #73daca
|
||||
color10 #73daca
|
||||
color3 #e0af68
|
||||
color11 #e0af68
|
||||
color4 #7aa2f7
|
||||
color12 #7aa2f7
|
||||
color5 #bb9af7
|
||||
color13 #bb9af7
|
||||
color6 #7dcfff
|
||||
color14 #7dcfff
|
||||
color7 #c0caf5
|
||||
color15 #c0caf5
|
||||
cursor #c0caf5
|
||||
cursor_text_color #1a1b26
|
||||
selection_foreground none
|
||||
selection_background #28344a
|
||||
url_color #9ece6a
|
||||
active_border_color #3d59a1
|
||||
inactive_border_color #101014
|
||||
bell_border_color #e0af68
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_foreground #3d59a1
|
||||
active_tab_background #16161e
|
||||
active_tab_font_style bold
|
||||
inactive_tab_foreground #787c99
|
||||
inactive_tab_background #16161e
|
||||
inactive_tab_font_style bold
|
||||
tab_bar_background #101014
|
||||
'';
|
||||
};
|
||||
bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
sessionVariables = {
|
||||
|
||||
};
|
||||
shellAliases = {
|
||||
sv="sudo vim";
|
||||
v="vim";
|
||||
ls="lsd";
|
||||
ll="lsd -l";
|
||||
la="lsd -a";
|
||||
lal="lsd -al";
|
||||
".."="cd ..";
|
||||
};
|
||||
};
|
||||
waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-left = [ "hyprland/window" ];
|
||||
modules-center = [ "network" "pulseaudio" "cpu" "hyprland/workspaces" "memory" "disk" "clock" ];
|
||||
modules-right = [ "custom/notification" "tray" ];
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = "{: %I:%M %p}";
|
||||
tooltip = false;
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 60;
|
||||
separate-outputs = false;
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = false;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}/{total}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = ["" "" "" "" ""];
|
||||
format-ethernet = ": {bandwidthDownOctets} : {bandwidthUpOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = ["" "" ""];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = ["" "" "" "" "" "" "" "" "" ""];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}];
|
||||
style = ''
|
||||
* {
|
||||
font-size: 16px;
|
||||
font-family: Ubuntu Nerd Font, Font Awesome, sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
window#waybar {
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #f8f8f2;
|
||||
}
|
||||
#workspaces {
|
||||
background: linear-gradient(180deg, #414868, #24283b);
|
||||
margin: 5px;
|
||||
padding: 0px 1px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #15161e;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #15161e;
|
||||
background-color: #1a1b26;
|
||||
opacity: 1.0;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #15161e;
|
||||
background: #7aa2f7;
|
||||
border-radius: 15px;
|
||||
min-width: 40px;
|
||||
transition: all 0.3s ease-in-out;
|
||||
opacity: 1.0;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
color: #15161e;
|
||||
background: #7aa2f7;
|
||||
border-radius: 15px;
|
||||
opacity: 1.0;
|
||||
}
|
||||
tooltip {
|
||||
background: #1a1b26;
|
||||
border: 1px solid #7aa2f7;
|
||||
border-radius: 10px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #c0caf5;
|
||||
}
|
||||
#window {
|
||||
color: #565f89;
|
||||
background: #1a1b26;
|
||||
border-radius: 0px 15px 50px 0px;
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#memory {
|
||||
color: #2ac3de;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#clock {
|
||||
color: #c0caf5;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#cpu {
|
||||
color: #b4f9f8;
|
||||
background: #1a1b26;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#disk {
|
||||
color: #9ece6a;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#battery {
|
||||
color: #f7768e;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#network {
|
||||
color: #ff9e64;
|
||||
background: #1a1b26;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#tray {
|
||||
color: #bb9af7;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 0px 0px 50px;
|
||||
margin: 5px 0px 5px 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #bb9af7;
|
||||
background: #1a1b26;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#custom-notification {
|
||||
color: #7dcfff;
|
||||
background: #1a1b26;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{ pkgs }:
|
||||
|
||||
pkgs.writeShellScriptBin "autohypr" ''
|
||||
${pkgs.swww}/bin/swww init &
|
||||
${pkgs.swaynotificationcenter}/bin/swaync &
|
||||
${pkgs.waybar}/bin/waybar &
|
||||
${pkgs.xfce.thunar}/bin/thunar --daemon &
|
||||
${pkgs.swww}/bin/swww img ~/.config/wallpaper.png &
|
||||
''
|
@ -2,7 +2,7 @@
|
||||
|
||||
pkgs.writeShellScriptBin "emopicker9000" ''
|
||||
# Get user selection via wofi from emoji file.
|
||||
chosen=$(cat $HOME/.local/share/scriptdeps/emoji | ${pkgs.tofi}/bin/tofi | awk '{print $1}')
|
||||
chosen=$(cat $HOME/.emoji | ${pkgs.rofi-wayland}/bin/rofi -dmenu | awk '{print $1}')
|
||||
|
||||
# Exit if none chosen.
|
||||
[ -z "$chosen" ] && exit
|
||||
|
@ -2,24 +2,25 @@
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
{ inputs, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
# Include Home Manager
|
||||
./home.nix
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.kernelModules = [ "v4l2loopback" ];
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
|
||||
# Networking
|
||||
networking.networkmanager.enable = true;
|
||||
networking.hostName = "hyprnix"; # Define your hostname.
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
@ -42,84 +43,17 @@
|
||||
users.users.zaney = {
|
||||
isNormalUser = true;
|
||||
description = "Tyler Kelley";
|
||||
extraGroups = [ "networkmanager" "wheel" "disk" "power" "video" ];
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
|
||||
programs.hyprland.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; [
|
||||
# Import Scripts
|
||||
(import ../scripts/emopicker9000.nix { inherit pkgs; })
|
||||
(import ../scripts/task-waybar.nix { inherit pkgs; })
|
||||
(import ../scripts/squirtle.nix { inherit pkgs; })
|
||||
(import ../scripts/autohypr.nix { inherit pkgs; })
|
||||
# Utils
|
||||
vim
|
||||
wget
|
||||
btop
|
||||
git
|
||||
libvirt
|
||||
swww
|
||||
polkit_gnome
|
||||
grim
|
||||
slurp
|
||||
lm_sensors
|
||||
unzip
|
||||
unrar
|
||||
gnome.file-roller
|
||||
libnotify
|
||||
swaynotificationcenter
|
||||
tofi
|
||||
xfce.thunar
|
||||
imv
|
||||
killall
|
||||
v4l-utils
|
||||
# Misc
|
||||
ydotool
|
||||
wl-clipboard
|
||||
socat
|
||||
cowsay
|
||||
lsd
|
||||
neofetch
|
||||
pkg-config
|
||||
cmatrix
|
||||
lolcat
|
||||
transmission-gtk
|
||||
# Photo & Video
|
||||
mpv
|
||||
gimp
|
||||
obs-studio
|
||||
blender
|
||||
kdenlive
|
||||
# Online
|
||||
firefox
|
||||
discord
|
||||
# Dev
|
||||
meson
|
||||
glibc
|
||||
hugo
|
||||
gnumake
|
||||
ninja
|
||||
go
|
||||
nodejs_21
|
||||
godot_4
|
||||
rustup
|
||||
rust-analyzer
|
||||
# Audio
|
||||
pavucontrol
|
||||
audacity
|
||||
# Gaming
|
||||
zeroad
|
||||
xonotic
|
||||
openra
|
||||
# Fonts
|
||||
font-awesome
|
||||
symbola
|
||||
noto-fonts-color-emoji
|
||||
material-icons
|
||||
vim wget curl
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
@ -140,7 +74,41 @@
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
# Nix Package Management
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
};
|
||||
|
||||
# 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:
|
||||
services.openssh.enable = true;
|
||||
services.fstrim.enable = true;
|
||||
services.xserver = {
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
libinput.enable = true;
|
||||
videoDrivers = [ "amdgpu" ];
|
||||
};
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
hardware.pulseaudio.enable = false;
|
||||
sound.enable = true;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
nix = {
|
||||
settings.auto-optimise-store = true;
|
||||
gc = {
|
||||
@ -175,54 +143,5 @@
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
};
|
||||
|
||||
# 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:
|
||||
services.openssh.enable = true;
|
||||
services.fstrim.enable = true;
|
||||
services.xserver = {
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
libinput.enable = true;
|
||||
};
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
hardware.pulseaudio.enable = false;
|
||||
sound.enable = true;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
# Automatic Updates
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
channel = "https://nixos.org/channels/nixos-23.11";
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# 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 = "23.11"; # Did you read the comment?
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
}
|
38
workstation/hardware-configuration.nix
Normal file
38
workstation/hardware-configuration.nix
Normal file
@ -0,0 +1,38 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/37d2dff5-91fd-42c8-b836-1cc3d18b9cd4";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/6ADB-9840";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
Loading…
Reference in New Issue
Block a user