mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 00:43:56 -05:00
flakes
This commit is contained in:
commit
beaf5202ca
37 changed files with 1802 additions and 0 deletions
31
boot.nix
Executable file
31
boot.nix
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
{pkgs, config, lib, modulesPath, ...}:
|
||||
{
|
||||
## NEED THIS OR WONT BOOT
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
### NEED THIS OR WONT BOOT
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
initrd = {
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "uas" "usb_storage" "sd_mod" ];
|
||||
kernelModules = [];
|
||||
};
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
blacklistedKernelModules = [ "nouveau" "lbm-nouveau" "pcspkr" ];
|
||||
extraModprobeConfig = "";
|
||||
kernelParams = [ "fbcon=nodefer" "bgrt_disable" "quiet" "splash" ];
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "breeze";
|
||||
logo = ./images/nixos.png;
|
||||
};
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
consoleMode = "max";
|
||||
editor = false;
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 0;
|
||||
};
|
||||
};
|
||||
}
|
||||
76
configuration.nix
Executable file
76
configuration.nix
Executable file
|
|
@ -0,0 +1,76 @@
|
|||
{ config, pkgs, callPackage, lib, ... }:
|
||||
{
|
||||
#important stuff first
|
||||
imports =
|
||||
[
|
||||
./boot.nix
|
||||
./prime.nix
|
||||
./networking.nix
|
||||
./packages.nix
|
||||
./fonts.nix
|
||||
./thunar.nix
|
||||
];
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
services.xserver = import ./xserver.nix;
|
||||
fileSystems = import ./fileSystems.nix;
|
||||
system.stateVersion = "22.11";
|
||||
hardware.cpu.amd.updateMicrocode = true;
|
||||
# end important stuff
|
||||
qt5 = {
|
||||
enable = true;
|
||||
style = "gtk2";
|
||||
platformTheme = "gtk2";
|
||||
};
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
dconf.enable = true;
|
||||
};
|
||||
time.timeZone = "America/New_York";
|
||||
services = {
|
||||
gvfs.enable = true;
|
||||
timesyncd = {
|
||||
enable = true;
|
||||
servers = [
|
||||
"time.google.com"
|
||||
"time2.google.com"
|
||||
];
|
||||
};
|
||||
};
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
useXkbConfig = true;
|
||||
};
|
||||
|
||||
# Enable sound.
|
||||
security.rtkit.enable = true;
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
nixpkgs.config.pulseaudio = true;
|
||||
# user managment
|
||||
users = {
|
||||
defaultUserShell = pkgs.zsh;
|
||||
users.gerg = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "audio" "networkmanager"];
|
||||
};
|
||||
};
|
||||
|
||||
#enable ssh
|
||||
programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
services.openssh.enable = true;
|
||||
}
|
||||
|
||||
11
fileSystems.nix
Executable file
11
fileSystems.nix
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"/" =
|
||||
{ device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
"/boot" =
|
||||
{ device = "/dev/disk/by-label/BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
}
|
||||
46
flake.nix
Normal file
46
flake.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
description = "testing";
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/master";
|
||||
home-manager.url = "github:nix-community/home-manager/master";
|
||||
home-manager.inputs.nixkpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = super: let self = super.pkgs; in {
|
||||
nerdfonts-overpass = self.nerdfonts.override {
|
||||
fonts = [ "Overpass" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
lib = nixpkgs.lib;
|
||||
in {
|
||||
homeManagerConfiguration = {
|
||||
gerg = home-manager.lib.homeManagerConfiguration {
|
||||
inherit system pkgs;
|
||||
username = "gerg";
|
||||
homeDirectory = "/home/gerg";
|
||||
configuration = {
|
||||
imports = [
|
||||
./home-manager.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
nixosConfigurations = {
|
||||
gerg-laptop = lib.nixosSystem {
|
||||
inherit system pkgs;
|
||||
modules = [
|
||||
./configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
14
fonts.nix
Executable file
14
fonts.nix
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
fonts = {
|
||||
fonts = with pkgs; [overpass nerdfonts-overpass material-design-icons];
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
serif = ["Overpass" "Overpass Nerd Font" "Material Design Icons"];
|
||||
sansSerif = ["Overpass" "Overpass Nerd Font" "Material Design Icons"];
|
||||
monospace = ["Overpass Mono" "OverpassMono Nerd Font" "Material Design Icons" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
26
home-manager.nix
Executable file
26
home-manager.nix
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
{config, pkgs, home-manager, ...}:
|
||||
{
|
||||
imports = [
|
||||
./home-manager/zsh.nix
|
||||
./home-manager/firefox.nix
|
||||
./home-manager/bspwm.nix
|
||||
./home-manager/sxhkd.nix
|
||||
./home-manager/rofi.nix
|
||||
./home-manager/polybar.nix
|
||||
./home-manager/dunst.nix
|
||||
./home-manager/alacritty.nix
|
||||
./home-manager/theme.nix
|
||||
./home-manager/picom.nix
|
||||
];
|
||||
programs.home-manager.enable = true;
|
||||
home = {
|
||||
stateVersion = "22.11";
|
||||
file = {
|
||||
".background-image".source = ./images/stars.jpg;
|
||||
".config" = {
|
||||
source = ./home/.config;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
34
home-manager/alacritty.nix
Normal file
34
home-manager/alacritty.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font.size = 9;
|
||||
colors = {
|
||||
primary = {
|
||||
background = "0x000000";
|
||||
foreground = "0xa9b1d6";
|
||||
};
|
||||
normal = {
|
||||
black = "0x32344a";
|
||||
red = "0xf7768e";
|
||||
green = "0x9ece6a";
|
||||
yellow = "0xe0af68";
|
||||
blue = "0x7aa2f7";
|
||||
magenta = "0xad8ee6";
|
||||
cyan = "0x449dab";
|
||||
white = "0x787c99";
|
||||
};
|
||||
bright = {
|
||||
black = "0x444b6a";
|
||||
red = "0xff7a93";
|
||||
green = "0xb9f27c";
|
||||
yellow = "0xff9e64";
|
||||
blue = "0x7da6ff";
|
||||
magenta = "0xbb9af7";
|
||||
cyan = "0x0db9d7";
|
||||
white = "0xacb0d0";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
29
home-manager/bspwm.nix
Executable file
29
home-manager/bspwm.nix
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
{config, pkgs, lib, ...}:
|
||||
{
|
||||
xsession.windowManager.bspwm = {
|
||||
enable = true;
|
||||
startupPrograms = [
|
||||
"polybar left"
|
||||
"polybar middle"
|
||||
"polybar right"
|
||||
"xfce4-power-manager"
|
||||
"xsetroot -cursor_name left_ptr"
|
||||
"xsetroot -solid \"#000000\""
|
||||
"flashfocus"
|
||||
];
|
||||
settings = {
|
||||
border_width = 0;
|
||||
window_gap = 20;
|
||||
border_radius = 15;
|
||||
normal_border_color = "\#c0caf5";
|
||||
active_border_color = "\#c0caf5";
|
||||
focused_border_color = "\#c0caf5";
|
||||
spilt_ratio = 0.52;
|
||||
borderless_monocle = true;
|
||||
gapless_monocle = true;
|
||||
};
|
||||
monitors = {
|
||||
eDP-1 = [ "I" "II" "III" "IV" "V" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
82
home-manager/dunst.nix
Executable file
82
home-manager/dunst.nix
Executable file
|
|
@ -0,0 +1,82 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
size = "128X128";
|
||||
};
|
||||
settings = {
|
||||
global = {
|
||||
monitor = 0;
|
||||
follow = "none";
|
||||
width = 400;
|
||||
height = 500;
|
||||
orgin = "bottom-right";
|
||||
offset = "20x80";
|
||||
scale = 0;
|
||||
notification_limit = 0;
|
||||
progress_bar = true;
|
||||
progress_bar_height = 10;
|
||||
progress_bar_frame_width = 1;
|
||||
progress_bar_max_width = 300;
|
||||
indicate_hidden = "yes";
|
||||
transparency = 0;
|
||||
separator_height =2;
|
||||
padding = 8;
|
||||
horizontal_padding = 8;
|
||||
text_icon_padding = 0;
|
||||
frame_width = 3;
|
||||
frame_color = "#7aa2f7";
|
||||
gap_size = 0;
|
||||
separator_color = "frame";
|
||||
sort = "yes";
|
||||
font = "Sofia Pro 16";
|
||||
line_height = 0;
|
||||
markup = "full";
|
||||
format = ''<b>%s</b>\n%b'';
|
||||
alignment = "left";
|
||||
vertical_alignment = "center";
|
||||
show_age_threshold = 60;
|
||||
ellipsize = "middle";
|
||||
ignore_newline = "no";
|
||||
stack_duplicates = true;
|
||||
hide_duplicate_count = false;
|
||||
show_indicators = "yes";
|
||||
icon_position = "left";
|
||||
min_icon_size = 128;
|
||||
max_icon_size = 300;
|
||||
always_run_scripts = true;
|
||||
sticky_history = "yes";
|
||||
history_length = 20;
|
||||
always_run_script = true;
|
||||
title = "Dunst";
|
||||
class = "Dunst";
|
||||
corner_radius = 15;
|
||||
ignore_dbusclose = false;
|
||||
mouse_left_click = "close_current";
|
||||
mouse_middle_click = "context";
|
||||
mouse_right_click = "do_action";
|
||||
};
|
||||
urgency_low = {
|
||||
background = "#000000";
|
||||
foreground = "#7aa2f7";
|
||||
frame_color = "#7aa2f7";
|
||||
timeout = 10;
|
||||
};
|
||||
urgency_normal = {
|
||||
background = "#000000";
|
||||
foreground = "#7aa2f7";
|
||||
frame_color = "#7aa2f7";
|
||||
timeout = 10;
|
||||
};
|
||||
urgency_critical = {
|
||||
background = "#000000";
|
||||
foreground = "#ad032e";
|
||||
frame_color = "#ad032e";
|
||||
timeout = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
19
home-manager/firefox.nix
Executable file
19
home-manager/firefox.nix
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
{pkgs, ...}:{
|
||||
programs = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
gerg = {
|
||||
name = "gerg";
|
||||
extraConfig = ( builtins.readFile
|
||||
(pkgs.fetchFromGitHub {
|
||||
owner = "ISnortPennies";
|
||||
repo = "user.js";
|
||||
rev = "master";
|
||||
sha256 = "BMEUZDelkcHDF8Yt9aa+3pGkGkodL7VEQ1hQBU6Fuug=";
|
||||
} + "/user.js") );
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
61
home-manager/picom.nix
Normal file
61
home-manager/picom.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
services.picom = {
|
||||
enable = true;
|
||||
activeOpacity = "1.0";
|
||||
backend = "glx";
|
||||
blur = false;
|
||||
blurExclude = [
|
||||
"window_type = 'dock'"
|
||||
"window_type = 'menu'"
|
||||
"class_g = 'firefox'"
|
||||
];
|
||||
experimentalBackends = false;
|
||||
fade = true;
|
||||
fadeDelta = 4;
|
||||
fadeSteps = [ "0.03" "0.03" ];
|
||||
inactiveOpacity = "1.0";
|
||||
menuOpacity = "1.0";
|
||||
shadow = true;
|
||||
noDockShadow = true;
|
||||
shadowExclude = [ "window_type = 'menu'" "class_g = 'firefox'" ];
|
||||
shadowOffsets = [ 25 25 ];
|
||||
shadowOpacity = "0.5";
|
||||
vSync = false;
|
||||
extraOptions = ''
|
||||
animations: true;
|
||||
animation-stiffness = 200
|
||||
animation-window-mass = 0.4
|
||||
animation-dampening = 20
|
||||
animation-clamping = false
|
||||
animation-for-open-window = "zoom";
|
||||
animation-for-unmap-window = "zoom";
|
||||
animation-for-workspace-switch-in = "slide-down";
|
||||
animation-for-workspace-switch-out = "zoom";
|
||||
animation-for-transient-window = "slide-up";
|
||||
|
||||
shadow-radius = 25;
|
||||
frame-opacity = 1.0;
|
||||
inactive-opacity-override = false;
|
||||
corner-radius = 15;
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'desktop'",
|
||||
"window_type = 'tooltip'",
|
||||
];
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
detect-transient = true;
|
||||
use-damage = true;
|
||||
log-level = "warn";
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = false; opacity = 1.0; focus = true; full-shadow = false; };
|
||||
dock = { shadow = true; }
|
||||
dnd = { shadow = true; }
|
||||
popup_menu = { opacity = 1.0; }
|
||||
dropdown_menu = { opacity = 1.0; }
|
||||
};
|
||||
'';
|
||||
};
|
||||
}
|
||||
314
home-manager/polybar.nix
Executable file
314
home-manager/polybar.nix
Executable file
|
|
@ -0,0 +1,314 @@
|
|||
|
||||
{pkgs , ... }:
|
||||
{
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
package = pkgs.polybarFull;
|
||||
script = "polybar left & \n polybar middle & \n polybar right &";
|
||||
settings = {
|
||||
"settings" = {
|
||||
screenchange.reload = true;
|
||||
pseudo.transparency =false;
|
||||
};
|
||||
"colors" = {
|
||||
background = "#000000";
|
||||
foreground = "#495eb8";
|
||||
blue = "#7aa2f7";
|
||||
alert = "#ad032e";
|
||||
deepblue = "#03339c";
|
||||
};
|
||||
"bar/left" = {
|
||||
width = "180px";
|
||||
offset.x = 20;
|
||||
modules.center = "xworkspaces";
|
||||
height = "20pt";
|
||||
radius = 6;
|
||||
fixed.center = false;
|
||||
dpi = 96;
|
||||
offset.y = 20;
|
||||
font = [ "Overpass Nerd Font:style=Regular:size=14;4" "Material Design Icons:style=Regular:size=16;4" ];
|
||||
background = "\${colors.background}";
|
||||
foreground = "\${colors.foreground}";
|
||||
line.size = "3pt";
|
||||
border = {
|
||||
size = "7pt";
|
||||
color = "\${colors.background}";
|
||||
radius = 15;
|
||||
};
|
||||
padding = {
|
||||
left = 0;
|
||||
right = 0;
|
||||
};
|
||||
cursor = {
|
||||
click = "pointer";
|
||||
scroll = "ns-resize";
|
||||
};
|
||||
enable.ipc = true;
|
||||
wm.restack = "bspwm";
|
||||
};
|
||||
"bar/middle" = {
|
||||
width = "130px";
|
||||
offset.x = 895;
|
||||
modules.center = "date";
|
||||
height = "20pt";
|
||||
radius = 6;
|
||||
fixed.center = false;
|
||||
dpi = 96;
|
||||
offset.y = 20;
|
||||
font = [ "Overpass Nerd Font:style=Regular:size=14;4" "Material Design Icons:style=Regular:size=16;4" ];
|
||||
background = "\${colors.background}";
|
||||
foreground = "\${colors.foreground}";
|
||||
line.size = "3pt";
|
||||
border = {
|
||||
size = "7pt";
|
||||
color = "\${colors.background}";
|
||||
radius = 15;
|
||||
};
|
||||
padding = {
|
||||
left = 0;
|
||||
right = 0;
|
||||
};
|
||||
cursor = {
|
||||
click = "pointer";
|
||||
scroll = "ns-resize";
|
||||
};
|
||||
enable.ipc = true;
|
||||
wm.restack = "bspwm";
|
||||
};
|
||||
"bar/right" = {
|
||||
width = "180px";
|
||||
offset.x = 1720;
|
||||
modules.center = "tray pulseaudio network battery powermenu";
|
||||
height = "20pt";
|
||||
radius = 6;
|
||||
fixed.center = false;
|
||||
dpi = 96;
|
||||
offset.y = 20;
|
||||
font = [ "Overpass Nerd Font:style=Regular:size=14;4" "Material Design Icons:style=Regular:size=16;4" ];
|
||||
background = "\${colors.background}";
|
||||
foreground = "\${colors.foreground}";
|
||||
line.size = "3pt";
|
||||
border = {
|
||||
size = "7pt";
|
||||
color = "\${colors.background}";
|
||||
radius = 15;
|
||||
};
|
||||
padding = {
|
||||
left = 0;
|
||||
right = 0;
|
||||
};
|
||||
cursor = {
|
||||
click = "pointer";
|
||||
scroll = "ns-resize";
|
||||
};
|
||||
enable.ipc = true;
|
||||
wm.restack = "bspwm";
|
||||
};
|
||||
"bar/tray" = {
|
||||
width = "180px";
|
||||
offset.x = 1540;
|
||||
module.margin.left = 0;
|
||||
module.margin.right = 0;
|
||||
modules.right = "sep";
|
||||
tray = {
|
||||
position = "right";
|
||||
detached = false;
|
||||
offset.x = 0;
|
||||
offset.y = 0;
|
||||
padding = 1;
|
||||
maxsize = 180;
|
||||
scale = "1.0";
|
||||
background = "\${colors.background}";
|
||||
transparent = false;
|
||||
};
|
||||
height = "20pt";
|
||||
radius = 6;
|
||||
fixed.center = false;
|
||||
dpi = 96;
|
||||
offset.y = 20;
|
||||
font = [ "Overpass Nerd Font:style=Regular:size=14;4" "Material Design Icons:style=Regular:size=16;4" ];
|
||||
background = "\${colors.background}";
|
||||
foreground = "\${colors.foreground}";
|
||||
line.size = "3pt";
|
||||
border = {
|
||||
size = "7pt";
|
||||
color = "\${colors.background}";
|
||||
radius = 15;
|
||||
};
|
||||
padding = {
|
||||
left = 0;
|
||||
right = 0;
|
||||
};
|
||||
cursor = {
|
||||
click = "pointer";
|
||||
scroll = "ns-resize";
|
||||
};
|
||||
enable.ipc = true;
|
||||
wm.restack = "bspwm";
|
||||
};
|
||||
"module/sep" = {
|
||||
type = "custom/text";
|
||||
content = {
|
||||
text = " ";
|
||||
background = "\${colors.background}";
|
||||
foreground = "\${colors.foreground}";
|
||||
};
|
||||
};
|
||||
"module/xworkspaces" = {
|
||||
type = "internal/xworkspaces";
|
||||
label = {
|
||||
active = {
|
||||
text = "";
|
||||
foreground = "\${colors.blue}";
|
||||
background = "\${colors.background}";
|
||||
padding = 2;
|
||||
};
|
||||
occupied = {
|
||||
text = "";
|
||||
foreground = "\${colors.deepblue}";
|
||||
background = "\${colors.background}";
|
||||
padding = 2;
|
||||
};
|
||||
urgent = {
|
||||
text = "";
|
||||
foreground = "\${colors.alert}";
|
||||
background = "\${colors.background}";
|
||||
padding = 2;
|
||||
};
|
||||
empty = {
|
||||
text = "";
|
||||
foreground = "\${colors.background}";
|
||||
background = "\${colors.background}";
|
||||
padding = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
"module/date" = {
|
||||
type = "internal/date";
|
||||
interval = 1;
|
||||
date = {
|
||||
text = "\"%I:%M %p\"";
|
||||
alt = "\"%a, %B %d\"";
|
||||
};
|
||||
label = {
|
||||
text = "\"%date%%{A}\"";
|
||||
foreground = "\${colors.foreground}";
|
||||
background = "\${colors.background}";
|
||||
};
|
||||
};
|
||||
"module/tray" = {
|
||||
type = "custom/text";
|
||||
content = " ";
|
||||
click.left = "\$HOME/.config/polybar/scripts/tray";
|
||||
label = {
|
||||
padding = 3;
|
||||
background = "\${colors.background}";
|
||||
};
|
||||
};
|
||||
"module/network" = {
|
||||
type = "internal/network";
|
||||
interface.type = "wireless";
|
||||
interval = "3.0";
|
||||
udspeed.minwidth = 5;
|
||||
accumulate.stats = true;
|
||||
unknown.as.up = true;
|
||||
format = {
|
||||
connected = "\"%{A1:networkmanager_dmenu:}<ramp-signal>%{A}\"";
|
||||
disconnected = "\"%{A1:networkmanager_dmenu:}<label-disconnected>%{A}\"";
|
||||
};
|
||||
label.disconnected = {
|
||||
text = "";
|
||||
foreground = "\${colors.alert}";
|
||||
background = "\${colors.background}";
|
||||
padding = 1;
|
||||
};
|
||||
ramp.signal = {
|
||||
text = ["" "" "" "" ""];
|
||||
foreground = "\${colors.foreground}";
|
||||
background = "\${colors.background}";
|
||||
padding = 1;
|
||||
};
|
||||
};
|
||||
"module/powermenu" = {
|
||||
type = "custom/text";
|
||||
content = {
|
||||
text = "";
|
||||
foreground = "\${colors.alert}";
|
||||
background = "\${colors.background}";
|
||||
padding = 3;
|
||||
};
|
||||
click.left = "\$HOME/.config/rofi/powermenu/powermenu.sh";
|
||||
};
|
||||
"module/battery" = {
|
||||
type = "internal/battery";
|
||||
full.at = 100;
|
||||
low.at = 20;
|
||||
battery = "BAT0";
|
||||
adapter = "ACAD";
|
||||
poll.interval = 5;
|
||||
format = {
|
||||
charging = "\"%{A1:xfce4-power-menu -c:}<animation-charging>%{A}\"";
|
||||
discharging = "\"%{A1:xfce4-power-menu -c:}<ramp-capacity>%{A}\"";
|
||||
low = "\"%{A1:xfce4-power-menu -c:}<animation-low>%{A}\"";
|
||||
full = "\"%{A1:xfce4-power-menu -c:}<ramp-capacity>%{A}\"";
|
||||
};
|
||||
label = {
|
||||
charging = {
|
||||
text = "\"%percentage%%\"";
|
||||
padding = 1;
|
||||
};
|
||||
discharging = {
|
||||
text = "\"%percentage%%\"";
|
||||
padding = 1;
|
||||
};
|
||||
low = {
|
||||
text = "\"%percentage%%\"";
|
||||
padding = 1;
|
||||
};
|
||||
};
|
||||
animation = {
|
||||
charging = {
|
||||
text = [ " " " " " " " " " " ];
|
||||
foreground = "\${colors.deepblue}";
|
||||
background = "\${colors.background}";
|
||||
framerate = 750;
|
||||
};
|
||||
discharging.framerate = 500;
|
||||
low = {
|
||||
text = [ " " " " ];
|
||||
framerate = 200;
|
||||
foreground = "\${colors.alert}";
|
||||
background = "\${colors.background}";
|
||||
};
|
||||
};
|
||||
ramp.capacity = {
|
||||
text = [ " " " " " " " " " " ];
|
||||
background = "\${colors.background}";
|
||||
};
|
||||
};
|
||||
"module/pulseaudio" = {
|
||||
type = "internal/pulseaudio";
|
||||
use.ui.max = false;
|
||||
interval = 5;
|
||||
format = {
|
||||
volume = "\"%{A1:pavucontrol:}<ramp-volume>%{A}\"";
|
||||
muted = "\"%{A1:pavucontrol:}<label-muted>%{A}\"";
|
||||
};
|
||||
label = {
|
||||
muted = {
|
||||
text = "ﱝ";
|
||||
foreground = "\${colors.alert}";
|
||||
background = "\${colors.background}";
|
||||
padding = 1;
|
||||
};
|
||||
};
|
||||
ramp.volume = {
|
||||
text = [ "奄" "奔" "墳" ];
|
||||
background = "\${colors.background}";
|
||||
padding = 1;
|
||||
click.right = "amixer sset Master toggle";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
6
home-manager/rofi.nix
Executable file
6
home-manager/rofi.nix
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
configPath = "./.rofi";
|
||||
};
|
||||
}
|
||||
45
home-manager/sxhkd.nix
Executable file
45
home-manager/sxhkd.nix
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
services.sxhkd = {
|
||||
enable = true;
|
||||
keybindings = {
|
||||
"super + Return" = "alacritty";
|
||||
"super + @space" = "rofi -show drun";
|
||||
"super + Escape" = "pkill -USR1 -x sxhkd";
|
||||
"super + alt + {q,r}" = "bspc {quit,wm -r}";
|
||||
"alt + {F4, shift + F4}" = "bspc node -{c,k}";
|
||||
"super + m" = "bspc desktop -l next";
|
||||
"super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
|
||||
"super + g" = "bspc node -s biggest.window";
|
||||
"super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||
"super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}";
|
||||
"super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}";
|
||||
"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}";
|
||||
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window";
|
||||
"super + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
|
||||
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
|
||||
"super + {o,i}" = "bspc wm -h off; bspc node {older,newer} -f; bspc wm -h on";
|
||||
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,10}'";
|
||||
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}";
|
||||
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
|
||||
"super + ctrl + space" ="bspc node -p cancel";
|
||||
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
|
||||
"super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
|
||||
"super + alt + shift + {h,j,k,l}" ="bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
|
||||
"super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
|
||||
"XF86AudioPlay" = "playerctl play";
|
||||
"XF86AudioPause" = "playerctl pause";
|
||||
"XF86AudioNext" = "playerctl next";
|
||||
"XF86AudioPrev" = "playerctl previous";
|
||||
"alt + Tab" = "bash ~/.config/rofi/window-switcher/window-switcher.sh";
|
||||
"ctrl + shift + Print" = "$HOME/.scripts/screenshot --full";
|
||||
"ctrl + Print" = "$HOME/.scripts/screenshot --area";
|
||||
"XF86AudioRaiseVolume" = "amixer sset Master 5%+";
|
||||
"XF86AudioLowerVolume" = "amixer sset Master 5%-";
|
||||
"XF86AudioMute" = "amixer sset Master toggle ";
|
||||
"XF86MonBrightnessUp" = "brightnessctl s 20+";
|
||||
"XF86MonBrightnessDown" = "brightnessctl s 20-";
|
||||
"Print" = "maim $HOME/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg";
|
||||
"super + Print" = "maim -s $HOME/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg";
|
||||
};
|
||||
};
|
||||
}
|
||||
18
home-manager/theme.nix
Normal file
18
home-manager/theme.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ pkgs, home-manager, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.flat-remix-gtk;
|
||||
name = "Flat-Remix-GTK-Blue-Darkest";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.flat-remix-icon-theme;
|
||||
name = "Flat-Remix-Blue-Dark";
|
||||
};
|
||||
font = {
|
||||
name = "Overpass";
|
||||
size = 10;
|
||||
};
|
||||
};
|
||||
}
|
||||
32
home-manager/zsh.nix
Executable file
32
home-manager/zsh.nix
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
programs = {
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
completionInit = "neofetch";
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
format="$sudo \n $directory$git_branch$character";
|
||||
character = {
|
||||
success_symbol = "[](#9ece6a bold)";
|
||||
error_symbol = "[](#db4b4b bold)";
|
||||
};
|
||||
directory = {
|
||||
read_only = " ";
|
||||
};
|
||||
git_branch = {
|
||||
style = "bold red";
|
||||
};
|
||||
sudo ={
|
||||
format = "[ ](#7aa2f7)";
|
||||
disabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
31
home/.config/Thunar/uca.xml
Executable file
31
home/.config/Thunar/uca.xml
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<actions>
|
||||
<action>
|
||||
<icon>utilities-terminal</icon>
|
||||
<name>Open Terminal Here</name>
|
||||
<unique-id>1651604010244754-1</unique-id>
|
||||
<command>alacritty --working-directory %f </command>
|
||||
<description>Example for a custom action</description>
|
||||
<patterns>*</patterns>
|
||||
<startup-notify/>
|
||||
<directories/>
|
||||
</action>
|
||||
<action>
|
||||
<icon>folder</icon>
|
||||
<name>Root</name>
|
||||
<unique-id>1651640324751320-1</unique-id>
|
||||
<command>qsudo thunar %f</command>
|
||||
<description></description>
|
||||
<patterns>*</patterns>
|
||||
<directories/>
|
||||
</action>
|
||||
<action>
|
||||
<icon>org.xfce.catfish</icon>
|
||||
<name>Search</name>
|
||||
<unique-id>1651908115751880-1</unique-id>
|
||||
<command>catfish --path=%f</command>
|
||||
<description></description>
|
||||
<patterns>*</patterns>
|
||||
<directories/>
|
||||
</action>
|
||||
</actions>
|
||||
92
home/.config/flashfocus/flashfocus.yml
Executable file
92
home/.config/flashfocus/flashfocus.yml
Executable file
|
|
@ -0,0 +1,92 @@
|
|||
## @@@@@@@@@@@@@@@@@@@@@@
|
||||
## Flashfocus config file
|
||||
## @@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
# Opacity of window during flash.
|
||||
flash-opacity: 0.5
|
||||
|
||||
# Windows are restored to this opacity value at the end of a flash.
|
||||
default-opacity: 1
|
||||
|
||||
# Length of flash in milliseconds.
|
||||
time: 500
|
||||
|
||||
# If true, flashes are not faded out. This will improve performance but flashes
|
||||
# won't be smooth.
|
||||
simple: false
|
||||
|
||||
# Number of animation frames in a flash.
|
||||
ntimepoints: 30
|
||||
|
||||
# Set this to false if you don't want windows to flash on focus.
|
||||
flash-on-focus: true
|
||||
|
||||
# Set this to false if you don't want fullscreen windows to flash.
|
||||
flash-fullscreen: true
|
||||
|
||||
# Whether or not to flash windows if they are the only window on the desktop.
|
||||
# Possible values:
|
||||
# 'always':
|
||||
# Always flash lone windows
|
||||
# 'never':
|
||||
# Never flash lone windows
|
||||
# 'on_open_close':
|
||||
# Lone windows will be flashed only if a) if they were just opened and b)
|
||||
# if another window was just closed.
|
||||
# 'on_switch':
|
||||
# Lone windows will be flashed only upon switching desktops.
|
||||
flash-lone-windows: 'always'
|
||||
|
||||
|
||||
# Defining window-specific flash rules
|
||||
#
|
||||
# X11-based window managers (e.g i3, bspwm)
|
||||
# -----------------------------------------
|
||||
# Flash rules are defined by matching the WM_CLASS property of a window. To get
|
||||
# the WM_CLASS property use 'xprop WM_CLASS' and click on a window. The
|
||||
# property is a tuple of the form (window-id, window-class). The window-class
|
||||
# is usually the name of the application, but not always.
|
||||
#
|
||||
#
|
||||
# Say I'd like to set all 'termite' windows to 80% opacity but leave other
|
||||
# windows at full opacity:
|
||||
#
|
||||
# rules:
|
||||
# - window-class: Termite
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
#
|
||||
# I also would prefer that firefox windows are not flashed on focus:
|
||||
#
|
||||
# rules:
|
||||
# - window-class: firefox
|
||||
# flash-on-focus: False
|
||||
# - window-class: Termite
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
#
|
||||
# For more complicated rules, you can use (python-style) regexes:
|
||||
#
|
||||
# rules:
|
||||
# - window-id: ^(?!termite)$
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
#
|
||||
# Sway
|
||||
# ----
|
||||
# Native wayland apps can be matched using the app_id and window name. These
|
||||
# can be found using `swaymsg -t get_tree`. XWayland apps are matched with
|
||||
# using WM_CLASS as above (this can also be found with `swaymsg`)
|
||||
#
|
||||
# Given that termite is wayland native and firefox is not, the rules above
|
||||
# could instead be written:
|
||||
#
|
||||
# rules:
|
||||
# - window-class: firefox
|
||||
# flash-on-focus: False
|
||||
# - app-id: termite
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
# rules:
|
||||
# - window-name: ^(?!termite)$
|
||||
# default-opacity: 0.8
|
||||
88
home/.config/neofetch/config.conf
Executable file
88
home/.config/neofetch/config.conf
Executable file
|
|
@ -0,0 +1,88 @@
|
|||
print_info() {
|
||||
info title
|
||||
info underline
|
||||
info "OS" distro
|
||||
info "Host" model
|
||||
info "Kernel" kernel
|
||||
info "Uptime" uptime
|
||||
info "Packages" packages
|
||||
info "Shell" shell
|
||||
info "WM" wm
|
||||
info "WM Theme" wm_theme
|
||||
info "Theme" theme
|
||||
info "Icons" icons
|
||||
info "Terminal" term
|
||||
info "CPU" cpu
|
||||
info "GPU" gpu
|
||||
info "Memory" memory
|
||||
info "Disk" disk
|
||||
info cols
|
||||
}
|
||||
title_fqdn="off"
|
||||
kernel_shorthand="on"
|
||||
distro_shorthand="tiny"
|
||||
os_arch="off"
|
||||
uptime_shorthand="tiny"
|
||||
memory_percent="on"
|
||||
memory_unit="gib"
|
||||
package_managers="tiny"
|
||||
shell_path="off"
|
||||
shell_version="off"
|
||||
speed_type="bios_limit"
|
||||
speed_shorthand="on"
|
||||
cpu_brand="off"
|
||||
cpu_speed="off"
|
||||
cpu_cores="off"
|
||||
cpu_temp="C"
|
||||
gpu_brand="off"
|
||||
gpu_type="all"
|
||||
refresh_rate="off"
|
||||
gtk_shorthand="on"
|
||||
gtk2="off"
|
||||
gtk3="on"
|
||||
public_ip_host="http://ident.me"
|
||||
public_ip_timeout=2
|
||||
local_ip_interface=('auto')
|
||||
de_version="off"
|
||||
disk_show=('/')
|
||||
disk_subtitle="dir"
|
||||
disk_percent="on"
|
||||
music_player="auto"
|
||||
song_format="%artist% - %album% - %title%"
|
||||
song_shorthand="off"
|
||||
mpc_args=()
|
||||
colors=(distro)
|
||||
bold="on"
|
||||
underline_enabled="on"
|
||||
underline_char="-"
|
||||
separator=":"
|
||||
block_range=(0 15)
|
||||
color_blocks="on"
|
||||
block_width=3
|
||||
block_height=1
|
||||
col_offset="auto"
|
||||
bar_char_elapsed="-"
|
||||
bar_char_total="="
|
||||
bar_border="on"
|
||||
bar_length=15
|
||||
bar_color_elapsed="distro"
|
||||
bar_color_total="distro"
|
||||
memory_display="on"
|
||||
battery_display="on"
|
||||
disk_display="on"
|
||||
image_backend="pixterm"
|
||||
image_source="auto"
|
||||
ascii_distro="auto"
|
||||
ascii_colors=(distro)
|
||||
ascii_bold="on"
|
||||
image_loop="off"
|
||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||
crop_mode="normal"
|
||||
crop_offset="center"
|
||||
image_size="auto"
|
||||
catimg_size="2"
|
||||
gap=3
|
||||
yoffset=0
|
||||
xoffset=0
|
||||
background_color=
|
||||
stdout="off"
|
||||
25
home/.config/networkmanager-dmenu/config.ini
Executable file
25
home/.config/networkmanager-dmenu/config.ini
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
[dmenu]
|
||||
dmenu_command = rofi -dmenu -theme ~/.config/networkmanager-dmenu/networkmenu.rasi
|
||||
# dmenu_command = /usr/bin/dmenu
|
||||
# # Note that dmenu_command can contain arguments as well like:
|
||||
# # `dmenu_command = rofi -dmenu -i -theme nmdm`
|
||||
# # `dmenu_command = rofi -dmenu -width 30 -i`
|
||||
# # `dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030`
|
||||
rofi_highlight = True
|
||||
# compact = <True or False> # (Default: False). Remove extra spacing from display
|
||||
compact = True
|
||||
# pinentry = <Pinentry command> # (Default: None) e.g. `pinentry-gtk`
|
||||
# wifi_chars = <string of 4 unicode characters representing 1-4 bars strength>
|
||||
# wifi_chars =
|
||||
# list_saved = <True or False> # (Default: False) list saved connections
|
||||
|
||||
[dmenu_passphrase]
|
||||
# # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and
|
||||
# # -nf to the same color or uses -P if the dmenu password patch is applied
|
||||
# # https://tools.suckless.org/dmenu/patches/password/
|
||||
# obscure = True
|
||||
# obscure_color = #222222
|
||||
|
||||
[editor]
|
||||
terminal = urxvt
|
||||
gui_if_available = True
|
||||
154
home/.config/networkmanager-dmenu/networkmenu.rasi
Executable file
154
home/.config/networkmanager-dmenu/networkmenu.rasi
Executable file
|
|
@ -0,0 +1,154 @@
|
|||
/* Copyright (C) 2020-2022 Aditya Shakya <adi1090x@gmail.com> */
|
||||
/* Everyone is permitted to copy and distribute copies of this file under GNU-GPL3 */
|
||||
|
||||
configuration {
|
||||
show-icons: false;
|
||||
display-drun: ":";
|
||||
drun-display-format: "{name}";
|
||||
disable-history: false;
|
||||
sidebar-mode: false;
|
||||
location: 0;
|
||||
}
|
||||
|
||||
* {
|
||||
BG: #000000;
|
||||
BGA: #16161e;
|
||||
FG: #c0caf5;
|
||||
BDR: #7aa2f7;
|
||||
SEL: #7aa2f7;
|
||||
UGT: #db4b4b;
|
||||
IMG: #db4b4b;
|
||||
ON: #9ece6a;
|
||||
OFF: #565f89;
|
||||
font: "Sofia Pro 15";
|
||||
}
|
||||
window {
|
||||
transparency: "real";
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
border-radius: 15px;
|
||||
width: 400px;
|
||||
height: 425px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 4px 4px 6px 6px;
|
||||
background-color: @BGA;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: "";
|
||||
background-color: @BGA;
|
||||
text-color: @IMG;
|
||||
padding: 4px 0px 0px 8px;
|
||||
font: "Material Design Icons Desktop 15";
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ textbox-prompt-colon, prompt, entry ];
|
||||
background-color: @BGA;
|
||||
text-color: @FG;
|
||||
expand: false;
|
||||
border: 0px 0px 0px 0px;
|
||||
border-radius: 10px;
|
||||
border-color: @BDR;
|
||||
margin: 0px 0px 0px 0px;
|
||||
padding: 5px 0px 3px 0px;
|
||||
position: center;
|
||||
}
|
||||
|
||||
|
||||
entry {
|
||||
background-color: @BGA;
|
||||
text-color: @FG;
|
||||
placeholder-color: @FG;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
placeholder: "";
|
||||
blink: true;
|
||||
padding: 4px 0px 0px 0px;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
listview {
|
||||
background-color: @BG;
|
||||
columns: 1;
|
||||
lines: 7;
|
||||
spacing: 5px;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @BG;
|
||||
children: [ inputbar, listview ];
|
||||
spacing: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
orientation: horizontal;
|
||||
border-radius: 10px;
|
||||
padding: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
size: 24px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
vertical-align: 0;
|
||||
margin: 2px 0px 2px 2px;
|
||||
}
|
||||
|
||||
element normal.urgent,
|
||||
element alternate.urgent {
|
||||
background-color: @UGT;
|
||||
text-color: @FG;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
element normal.active,
|
||||
element alternate.active {
|
||||
background-color: @BGA;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @SEL;
|
||||
text-color: @BG;
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
border-color: @BDR;
|
||||
}
|
||||
|
||||
element selected.urgent {
|
||||
background-color: @UGT;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
element selected.active {
|
||||
background-color: @BGA;
|
||||
color: @FG;
|
||||
}
|
||||
6
home/.config/polybar/scripts/tray
Executable file
6
home/.config/polybar/scripts/tray
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
u=$(xprop -name "Polybar tray window" _NET_WM_PID | awk '{print $3}')
|
||||
if [ $u -Z ]
|
||||
then polybar tray &
|
||||
else kill $u
|
||||
fi
|
||||
111
home/.config/rofi/config.rasi
Executable file
111
home/.config/rofi/config.rasi
Executable file
|
|
@ -0,0 +1,111 @@
|
|||
configuration{
|
||||
modi: "run,drun,window";
|
||||
lines: 5;
|
||||
show-icons: true;
|
||||
icon-theme: "Flat-Remix-Blue-Dark";
|
||||
terminal: "alacritty";
|
||||
drun-display-format: "{name}";
|
||||
location: 0;
|
||||
disable-history: false;
|
||||
hide-scrollbar: true;
|
||||
display-drun: " Apps ";
|
||||
display-run: " Run ";
|
||||
display-window: " Window";
|
||||
sidebar-mode: true;
|
||||
}
|
||||
@theme "/dev/null"
|
||||
* {
|
||||
background-color: #000000;
|
||||
text-color: #7AA2F7;
|
||||
black: #000000;
|
||||
blue: #7AA2F7;
|
||||
deepblue: #03339c;
|
||||
clear: #00000000;
|
||||
width: 800;
|
||||
font: "Overpass 16";
|
||||
}
|
||||
window {
|
||||
height: 500px;
|
||||
border: 0px;
|
||||
border-radius: 15;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [ mode-switcher, inputbar, listview ];
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [prompt,entry];
|
||||
background-color: @black;
|
||||
border-radius: 5px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: @blue;
|
||||
padding: 6px;
|
||||
text-color: @black;
|
||||
border-radius: 5px;
|
||||
margin: 20px 0px 0px 20px;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
}
|
||||
|
||||
entry {
|
||||
padding: 6px;
|
||||
margin: 20px 0px 0px 10px;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 0px 0px 0px;
|
||||
padding: 10 10 0;
|
||||
margin: 10 10 0 10;
|
||||
columns: 4;
|
||||
spacing: 15;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
orientation: vertical;
|
||||
spacing: 10;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 56px;
|
||||
horizontal-align: 0.5;
|
||||
background-color: @clear;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @deepblue ;
|
||||
text-color: @black ;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
expand: true;
|
||||
background-color: @clear;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
spacing: 0;
|
||||
margin: 5 10 5 10;
|
||||
padding: 10 50 5 50;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @blue ;
|
||||
text-color: @black;
|
||||
border-radius: 10px;
|
||||
}
|
||||
42
home/.config/rofi/powermenu/powermenu.rasi
Executable file
42
home/.config/rofi/powermenu/powermenu.rasi
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
* {
|
||||
background: #00000000;
|
||||
black: #000000;
|
||||
blue: #7aa2f7;
|
||||
deepblue: #03339c;
|
||||
}
|
||||
* {
|
||||
background-color: #00000000;
|
||||
text-color: @blue;
|
||||
font: "Material Design Icons 60";
|
||||
}
|
||||
prompt,inputbar,entry,textbox-prompt-colon { enabled: false; }
|
||||
#window {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: @background;
|
||||
transparency: "real";
|
||||
children: [dummy, listview, dummy];
|
||||
}
|
||||
#dummyofdummy {
|
||||
children: [dummy, listview, dummy];
|
||||
}
|
||||
#dummy {
|
||||
expand: true;
|
||||
}
|
||||
listview {
|
||||
lines: 4;
|
||||
layout: horizontal;
|
||||
children: [element];
|
||||
margin: 100px 0px 100px 585px;
|
||||
}
|
||||
#element {
|
||||
padding: 30px 40px;
|
||||
background-color: @black;
|
||||
border-color: #00000000;
|
||||
border-radius: 20px;
|
||||
text-color: @black;
|
||||
}
|
||||
#element.selected {
|
||||
text-color: @black;
|
||||
background-color: @deepblue;
|
||||
}
|
||||
28
home/.config/rofi/powermenu/powermenu.sh
Executable file
28
home/.config/rofi/powermenu/powermenu.sh
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
rofi_command="rofi -theme $HOME/.config/rofi/powermenu/powermenu.rasi -p "power""
|
||||
|
||||
#### Options ###
|
||||
power_off="襤 "
|
||||
reboot="勒 "
|
||||
lock=" "
|
||||
suspend=" "
|
||||
log_out=" "
|
||||
# Variable passed to rofi
|
||||
options="$power_off\n$reboot\n$suspend\n$log_out"
|
||||
|
||||
chosen="$(echo -e "$options" | $rofi_command -dmenu -selected-row 2)"
|
||||
case $chosen in
|
||||
$power_off)
|
||||
systemctl poweroff
|
||||
;;
|
||||
$reboot)
|
||||
systemctl reboot
|
||||
;;
|
||||
$suspend)
|
||||
systemctl suspend
|
||||
;;
|
||||
$log_out)
|
||||
bspc quit
|
||||
;;
|
||||
esac
|
||||
109
home/.config/rofi/window-switcher/box.rasi
Executable file
109
home/.config/rofi/window-switcher/box.rasi
Executable file
|
|
@ -0,0 +1,109 @@
|
|||
configuration {
|
||||
show-icons: true;
|
||||
icon-theme: "Flat-Remix-Blue-Dark";
|
||||
disable-history: true;
|
||||
fullscreen: false;
|
||||
hide-scrollbar: true;
|
||||
sidebar-mode: false;
|
||||
display-window: "";
|
||||
window-format : "{t}";
|
||||
window-thumbnail: false;
|
||||
}
|
||||
|
||||
* {
|
||||
background-color: #000000;
|
||||
black: #000000;
|
||||
text-color: #7AA2F7;
|
||||
blue: #7AA2F7;
|
||||
deepblue: #03339c;
|
||||
clear: #00000000;
|
||||
font: "Overpass 12";
|
||||
}
|
||||
|
||||
window {
|
||||
border: 0px;
|
||||
border-color: @deepblue;
|
||||
border-radius: 20px;
|
||||
height: 150;
|
||||
location: center;
|
||||
x-offset: 0;
|
||||
y-offset: 0;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: false;
|
||||
padding: 0.25% 0.75% 0% -0.25%;
|
||||
}
|
||||
|
||||
entry {
|
||||
enabled: false;
|
||||
placeholder-color: @blue;
|
||||
expand: false;
|
||||
horizontal-align: 0;
|
||||
placeholder: "Switch to...";
|
||||
padding: 0% 0% 0% 0%;
|
||||
blink: true;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
enabled: false;
|
||||
children: [ prompt, entry];
|
||||
expand: false;
|
||||
border: 0.3% 0% 0.3% 0%;
|
||||
border-radius: 100%;
|
||||
border-color: @deepblue;
|
||||
margin: 0% 0% 0% 0%;
|
||||
}
|
||||
|
||||
listview {
|
||||
margin: 0.3% 0% 0% 0%;
|
||||
columns: 8;
|
||||
row: 1;
|
||||
spacing: 1%;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
fixed-height : true;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
border: 0% 0% 0% 0%;
|
||||
border-radius: 0% 0% 0% 0%;
|
||||
border-color: @accent;
|
||||
children: [ inputbar, listview];
|
||||
spacing: -100%;
|
||||
padding: 1.5% 1% 1% 1%;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: vertical;
|
||||
border-radius: 75px;
|
||||
padding: 2% 0% 0% 0%;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 50px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
expand: false;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.9;
|
||||
margin: 1% 0.5% 0.7% 0.5%;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @deepblue;
|
||||
border: 3px;
|
||||
border-radius: 15px;
|
||||
border-color: @deepblue;
|
||||
}
|
||||
|
||||
element-text, element-icon, element {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
listview, element, element selected, element-icon, element-text {
|
||||
cursor: pointer;
|
||||
}
|
||||
109
home/.config/rofi/window-switcher/box.rasi.save
Executable file
109
home/.config/rofi/window-switcher/box.rasi.save
Executable file
|
|
@ -0,0 +1,109 @@
|
|||
configuration {
|
||||
show-icons: true;
|
||||
icon-theme: "Flat-Remix-Blue-Dark";
|
||||
disable-history: true;
|
||||
fullscreen: false;
|
||||
hide-scrollbar: true;
|
||||
sidebar-mode: false;
|
||||
display-window: "";
|
||||
window-format : "{t}";
|
||||
window-thumbnail: false;
|
||||
}
|
||||
|
||||
* {
|
||||
background-color: #000000;
|
||||
black: #000000;
|
||||
text-color: #7AA2F7;
|
||||
blue: #7AA2F7;
|
||||
deepblue: #03339c;
|
||||
clear: #00000000;
|
||||
font: "Overpass 16";
|
||||
}
|
||||
|
||||
window {
|
||||
border: 0px;
|
||||
border-color: @deepblue;
|
||||
border-radius: 20px;
|
||||
height: 18.8%;
|
||||
location: center;
|
||||
x-offset: 0;
|
||||
y-offset: 0;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: false;
|
||||
padding: 0.25% 0.75% 0% -0.25%;
|
||||
}
|
||||
|
||||
entry {
|
||||
enabled: false;
|
||||
placeholder-color: @blue;
|
||||
expand: false;
|
||||
horizontal-align: 0;
|
||||
placeholder: "Switch to...";
|
||||
padding: 0% 0% 0% 0%;
|
||||
blink: true;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
enabled: false;
|
||||
children: [ prompt, entry];
|
||||
expand: false;
|
||||
border: 0.3% 0% 0.3% 0%;
|
||||
border-radius: 100%;
|
||||
border-color: @deepblue;
|
||||
margin: 0% 0% 0% 0%;
|
||||
}
|
||||
|
||||
listview {
|
||||
margin: 0.3% 0% 0% 0%;
|
||||
columns: 6;
|
||||
row: 1;
|
||||
spacing: 1%;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
fixed-height : true;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
border: 0% 0% 0% 0%;
|
||||
border-radius: 0% 0% 0% 0%;
|
||||
border-color: @accent;
|
||||
children: [ inputbar, listview];
|
||||
spacing: -100%;
|
||||
padding: 1.5% 1% 1% 1%;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: vertical;
|
||||
border-radius: 100px;
|
||||
padding: 2% 0% 0% 0%;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 100px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
expand: false;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.9;
|
||||
margin: 1% 0.5% 0.7% 0.5%;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @deepblue;
|
||||
border: 3px;
|
||||
border-radius: 15px;
|
||||
border-color: @deepblue;
|
||||
}
|
||||
|
||||
element-text, element-icon, element {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
listview, element, element selected, element-icon, element-text {
|
||||
cursor: pointer;
|
||||
}
|
||||
13
home/.config/rofi/window-switcher/window-switcher.sh
Executable file
13
home/.config/rofi/window-switcher/window-switcher.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
path=$HOME/.config/rofi/window-switcher/box.rasi
|
||||
windows="$(xprop -root _NET_CLIENT_LIST | grep -o '0x' | wc -l )"
|
||||
if (($windows<8)); then
|
||||
width=$(($windows*150))
|
||||
else
|
||||
width=1200
|
||||
fi
|
||||
rofi \
|
||||
-no-lazy-grab \
|
||||
-show window \
|
||||
-theme $path \
|
||||
-theme-str 'window {width: '$width';}'
|
||||
BIN
images/nixos.png
Normal file
BIN
images/nixos.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
BIN
images/stars-1080.jpg
Executable file
BIN
images/stars-1080.jpg
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
BIN
images/stars.jpg
Executable file
BIN
images/stars.jpg
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
38
lightdm-mini.conf
Executable file
38
lightdm-mini.conf
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
[greeter]
|
||||
user = gerg
|
||||
show-password-label = false
|
||||
password-label-text =
|
||||
invalid-password-text =
|
||||
show-input-cursor = false
|
||||
password-alignment = center
|
||||
password-input-width = 19
|
||||
show-image-on-all-monitors = true
|
||||
|
||||
|
||||
[greeter-hotkeys]
|
||||
mod-key = meta
|
||||
shutdown-key = s
|
||||
restart-key = r
|
||||
hibernate-key = h
|
||||
suspend-key = u
|
||||
|
||||
|
||||
[greeter-theme]
|
||||
font = "OverpassMono Nerd Font"
|
||||
font-size = 1.1em
|
||||
font-weight = bold
|
||||
font-style = normal
|
||||
text-color = "#7AA2F7"
|
||||
error-color = "#DB4B4B"
|
||||
background-image = "/etc/nixos/images/stars-1080.jpg"
|
||||
background-color = "#000000"
|
||||
window-color = "#000000"
|
||||
border-color = "#000000"
|
||||
border-width = 2px
|
||||
layout-space = 15
|
||||
password-character = -1
|
||||
password-color = "#7AA2F7"
|
||||
password-background-color = "#24283B"
|
||||
password-border-color = "#000000"
|
||||
password-border-width = 2px
|
||||
password-border-radius = 0.341125em
|
||||
10
networking.nix
Executable file
10
networking.nix
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
{ lib, ...}:
|
||||
|
||||
{
|
||||
networking = {
|
||||
firewall.enable = true;
|
||||
hostName = "gerg-laptop";
|
||||
useDHCP = lib.mkDefault true;
|
||||
networkmanager. enable = true;
|
||||
};
|
||||
}
|
||||
49
packages.nix
Executable file
49
packages.nix
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
{ config, pkgs, callPackage, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
#single commands
|
||||
nano
|
||||
wget
|
||||
neofetch
|
||||
htop
|
||||
efibootmgr
|
||||
maim
|
||||
#lightdm
|
||||
lightdm
|
||||
lightdm-mini-greeter
|
||||
#needed utils
|
||||
pipewire
|
||||
xorg.xf86videoamdgpu
|
||||
mesa
|
||||
mesa-demos
|
||||
pciutils
|
||||
git
|
||||
dash
|
||||
#user/gui
|
||||
discord
|
||||
spotify-tray
|
||||
vlc
|
||||
bitwarden
|
||||
protonvpn-gui
|
||||
gimp
|
||||
qbittorrent
|
||||
feh
|
||||
#explicit xfce4 for bspwm
|
||||
xarchive
|
||||
xfce.catfish
|
||||
xfce.mousepad
|
||||
xfce.xfce4-power-manager
|
||||
#shiny
|
||||
brightnessctl
|
||||
playerctl
|
||||
networkmanager_dmenu
|
||||
networkmanagerapplet
|
||||
dmenu
|
||||
qsudo
|
||||
flashfocus
|
||||
pavucontrol
|
||||
gpick
|
||||
xclip
|
||||
alsa-utils
|
||||
];
|
||||
}
|
||||
23
prime.nix
Executable file
23
prime.nix
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
hardware = {
|
||||
nvidia = {
|
||||
nvidiaPersistenced = true;
|
||||
prime = {
|
||||
sync.enable = true;
|
||||
amdgpuBusId = "PCI:5:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
modesetting.enable = true;
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
7
thunar.nix
Normal file
7
thunar.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{pkgs, ...}:
|
||||
{
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [ thunar-volman thunar-archive-plugin thunar-media-tags-plugin];
|
||||
};
|
||||
}
|
||||
23
xserver.nix
Executable file
23
xserver.nix
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
enable = true;
|
||||
videoDrivers = ["nvidia" "modesetting"];
|
||||
layout = "us";
|
||||
libinput.enable = true;
|
||||
desktopManager = {
|
||||
xterm.enable = false;
|
||||
};
|
||||
windowManager.bspwm = {
|
||||
enable = true;
|
||||
};
|
||||
displayManager = {
|
||||
defaultSession = "none+bspwm";
|
||||
lightdm = {
|
||||
enable = true;
|
||||
greeters.mini = {
|
||||
enable = true;
|
||||
extraConfig = (builtins.readFile ./lightdm-mini.conf);
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue