mirror of
https://git.sr.ht/~coasteen/dotfiles
synced 2025-11-04 14:47:38 +01:00
Compare commits
5 commits
aed12cd423
...
c5da423bc0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5da423bc0 | ||
|
|
829e9c7e56 | ||
|
|
faa09ea0c7 | ||
|
|
9c3d012f9d | ||
|
|
ab8cd74a65 |
10 changed files with 195 additions and 77 deletions
24
.wezterm.lua
Normal file
24
.wezterm.lua
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
local wezterm = require 'wezterm'
|
||||||
|
local config = wezterm.config_builder()
|
||||||
|
|
||||||
|
config.initial_cols = 120
|
||||||
|
config.initial_rows = 28
|
||||||
|
|
||||||
|
config.font_size = 12
|
||||||
|
config.font = wezterm.font("MapleMono")
|
||||||
|
|
||||||
|
config.window_close_confirmation = 'NeverPrompt'
|
||||||
|
config.enable_tab_bar = false
|
||||||
|
|
||||||
|
config.window_background_opacity = 0.9
|
||||||
|
|
||||||
|
config.window_padding = {
|
||||||
|
left = 5,
|
||||||
|
right = 5,
|
||||||
|
top = 5,
|
||||||
|
bottom = 5,
|
||||||
|
}
|
||||||
|
|
||||||
|
config.color_scheme = 'Atelier Plateau (base16)'
|
||||||
|
|
||||||
|
return config
|
||||||
1
config/nvim/nvim
Symbolic link
1
config/nvim/nvim
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/5hcm30287f6kxb02yzr92lmqpx8npgjq-home-manager-files/.config/nvim
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8860e8fbba6c77f7cb170c94f02b09cdf006fe6f
|
Subproject commit 01d48cc7c176b3efb72cf8835803cbe6c58b53b3
|
||||||
|
|
@ -18,6 +18,7 @@ in
|
||||||
|
|
||||||
networking.hostName = "core";
|
networking.hostName = "core";
|
||||||
networking.enableIPv6 = false;
|
networking.enableIPv6 = false;
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
time.timeZone = "Asia/Tehran";
|
time.timeZone = "Asia/Tehran";
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
|
@ -28,6 +29,14 @@ in
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = pkgs.linuxPackages.nvidiaPackages.beta;
|
package = pkgs.linuxPackages.nvidiaPackages.beta;
|
||||||
|
prime.offload = {
|
||||||
|
enable = true;
|
||||||
|
enableOffloadCmd = true;
|
||||||
|
};
|
||||||
|
prime = {
|
||||||
|
intelBusId = "PCI:0:2:0";
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
bluetooth.powerOnBoot = true;
|
bluetooth.powerOnBoot = true;
|
||||||
|
|
@ -35,10 +44,7 @@ in
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
sudo.enable = false;
|
sudo.enable = false;
|
||||||
doas = {
|
sudo-rs.enable = true;
|
||||||
enable = true;
|
|
||||||
extraRules = [{ users = [ "coast" ]; keepEnv = true; persist = true; }];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
@ -57,6 +63,8 @@ in
|
||||||
simple-mtpfs
|
simple-mtpfs
|
||||||
android-tools
|
android-tools
|
||||||
unstable.qbittorrent
|
unstable.qbittorrent
|
||||||
|
unstable.zathura
|
||||||
|
unstable.kew
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,23 @@
|
||||||
{ config, pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
videoDrivers = ["nvidia"];
|
videoDrivers = ["modesetting" "nvidia"];
|
||||||
windowManager.qtile.enable = true;
|
windowManager.qtile.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
displayManager.ly.enable = true;
|
displayManager.ly.enable = true;
|
||||||
blueman.enable = true;
|
blueman.enable = false;
|
||||||
printing.enable = false;
|
printing.enable = false;
|
||||||
jellyfin.enable = true;
|
#pipewire
|
||||||
pipewire = {
|
pipewire = {
|
||||||
enable = true;
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
|
@ -32,6 +34,7 @@
|
||||||
nano.enable = false;
|
nano.enable = false;
|
||||||
nekoray.enable = true;
|
nekoray.enable = true;
|
||||||
nekoray.tunMode.enable = true;
|
nekoray.tunMode.enable = true;
|
||||||
|
sway.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
|
|
@ -40,6 +43,7 @@
|
||||||
nerd-fonts._0xproto
|
nerd-fonts._0xproto
|
||||||
nerd-fonts.droid-sans-mono
|
nerd-fonts.droid-sans-mono
|
||||||
nerd-fonts.jetbrains-mono
|
nerd-fonts.jetbrains-mono
|
||||||
|
vazir-fonts
|
||||||
];
|
];
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,73 +1,142 @@
|
||||||
{ config, pkgs, ... }: let
|
{ config, pkgs, ... }: let
|
||||||
dotDir = "${config.home.homeDirectory}/.local/src/config/";
|
dotDir = "${config.home.homeDirectory}/.local/src/config/";
|
||||||
mkSl = path: config.lib.file.mkOutOfStoreSymlink path;
|
mkSl = path: config.lib.file.mkOutOfStoreSymlink path;
|
||||||
configs = {
|
configs = {
|
||||||
sway = "sway";
|
kitty = "kitty";
|
||||||
kitty = "kitty";
|
foot = "foot";
|
||||||
foot = "foot";
|
qtile = "qtile";
|
||||||
qtile = "qtile";
|
mako = "mako";
|
||||||
mako = "mako";
|
nvim = "nvim";
|
||||||
nvim = "nvim";
|
eww = "eww";
|
||||||
};
|
};
|
||||||
|
modifier = "Mod4";
|
||||||
|
terminal = "${pkgs.wezterm}/bin/wezterm";
|
||||||
|
menu = "${pkgs.wmenu}/bin/wmenu-run";
|
||||||
in {
|
in {
|
||||||
home.username = "coast";
|
home.username = "coast";
|
||||||
home.homeDirectory = "/home/coast";
|
home.homeDirectory = "/home/coast";
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
xdg.configFile = builtins.mapAttrs (name: subpath: { source = mkSl "${dotDir}/${subpath}"; recursive = true; }) configs;
|
xdg.configFile = builtins.mapAttrs (name: subpath: { source = mkSl "${dotDir}/${subpath}"; recursive = true; }) configs;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
alsa-utils nix-search-cli neofetch dysk nsxiv tree wl-clipboard appimage-run libnotify grim slurp yazi mate.caja htop nixpkgs-fmt
|
alsa-utils nix-search-cli fastfetch nsxiv tree wl-clipboard appimage-run libnotify grim slurp yazi mate.caja htop nixpkgs-fmt
|
||||||
swaybg wmenu mako nwg-look xorg.xkill
|
swaybg wmenu mako nwg-look xorg.xkill
|
||||||
mpv vesktop wlr-randr rtorrent tor-browser
|
mpv vesktop wlr-randr autotiling wezterm
|
||||||
nodejs gcc gnumake clang-tools ruby_3_4 pkg-config
|
nodejs gcc_multi gnumake clang-tools ruby_3_4 pkg-config dmd dtools rustup python3 python313Packages.pip texliveMedium unzip zip
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.zsh = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
history = {
|
wrapperFeatures.gtk = true;
|
||||||
path = "/home/coast/.cache/zsh/history";
|
config = {
|
||||||
size = 100000000;
|
modifier = "Mod4";
|
||||||
save = 100000000;
|
gaps = {
|
||||||
append = true;
|
inner = 5;
|
||||||
|
outer = 10;
|
||||||
};
|
};
|
||||||
enableCompletion = true;
|
bars = [{
|
||||||
shellAliases = {
|
position = "bottom";
|
||||||
nf = "neofetch";
|
mode = "dock";
|
||||||
nrs = "doas nixos-rebuild switch";
|
id = "bar-0";
|
||||||
emoji = "cat ~/.local/src/local/share/emoji | grep";
|
workspaceNumbers = true;
|
||||||
ls = "ls --color=auto";
|
workspaceButtons = true;
|
||||||
smi = "nvidia-smi";
|
fonts.size = 9.0;
|
||||||
battery = "sb-battery";
|
colors.focusedBackground = "#1c1c1c";
|
||||||
weather = "curl wttr.in/masjedsoleyman";
|
}];
|
||||||
las = "ls";
|
output.eDP-1.disable = "";
|
||||||
c = "clear";
|
keybindings = {
|
||||||
cear = "clear";
|
"${modifier}+Return" = "exec ${terminal}";
|
||||||
".." = "cd ..";
|
"${modifier}+r" = "exec ${menu} -l 10";
|
||||||
hotp = "htop";
|
"${modifier}+s" = "kill";
|
||||||
main = "man";
|
"${modifier}+f" = "fullscreen";
|
||||||
mian = "man";
|
"${modifier}+Print" = "exec /home/coast/.local/src/local/bin/screenie-wlr";
|
||||||
mna = "man";
|
"${modifier}+1" = "workspace 1";
|
||||||
dias = "doas";
|
"${modifier}+2" = "workspace 2";
|
||||||
delgen = "doas nix-env --delete-generations old --profile /nix/var/nix/profiles/system";
|
"${modifier}+3" = "workspace 3";
|
||||||
alsamixer = "alsamixer -c 0 --no-color";
|
"${modifier}+4" = "workspace 4";
|
||||||
la = "ls --color=auto -la";
|
"${modifier}+5" = "workspace 5";
|
||||||
|
"${modifier}+6" = "workspace 6";
|
||||||
|
"${modifier}+7" = "workspace 7";
|
||||||
|
"${modifier}+8" = "workspace 8";
|
||||||
|
"${modifier}+9" = "workspace 9";
|
||||||
|
"${modifier}+0" = "workspace 10";
|
||||||
|
"${modifier}+Shift+1" = "move container to workspace 1";
|
||||||
|
"${modifier}+Shift+2" = "move container to workspace 2";
|
||||||
|
"${modifier}+Shift+3" = "move container to workspace 3";
|
||||||
|
"${modifier}+Shift+4" = "move container to workspace 4";
|
||||||
|
"${modifier}+Shift+5" = "move container to workspace 5";
|
||||||
|
"${modifier}+Shift+6" = "move container to workspace 6";
|
||||||
|
"${modifier}+Shift+7" = "move container to workspace 7";
|
||||||
|
"${modifier}+Shift+8" = "move container to workspace 8";
|
||||||
|
"${modifier}+Shift+9" = "move container to workspace 9";
|
||||||
|
|
||||||
|
"${modifier}+h" = "focus left";
|
||||||
|
"${modifier}+j" = "focus down";
|
||||||
|
"${modifier}+k" = "focus up";
|
||||||
|
"${modifier}+l" = "focus right";
|
||||||
|
|
||||||
|
"${modifier}+Shift+i" = "exec caja";
|
||||||
|
|
||||||
|
"${modifier}+Shift+r" = "reload";
|
||||||
|
|
||||||
|
"${modifier}+Shift+q" = "exit";
|
||||||
|
|
||||||
|
"${modifier}+Shift+v" = "exec vesktop --ozone-platform=wayland";
|
||||||
|
|
||||||
|
"${modifier}+Shift+p" = "exec /home/coast/.local/src/local/bin/setwall.sh";
|
||||||
};
|
};
|
||||||
initContent = ''
|
startup = [
|
||||||
autoload -U compinit
|
{ command = "autotiling"; }
|
||||||
zstyle ':completion:*' menu select
|
];
|
||||||
zmodload zsh/complist
|
};
|
||||||
compinit
|
};
|
||||||
comp_options+=(globdots)
|
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
programs.zsh = {
|
||||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12"
|
enable = true;
|
||||||
autoload -U colors && colors && setopt prompt_subst
|
history = {
|
||||||
PROMPT="[%n@%m %~]%% "
|
path = "/home/coast/.cache/zsh/history";
|
||||||
export LIBCLANG_PATH=/usr/lib/llvm/20/lib64
|
size = 100000000;
|
||||||
export PATH=$PATH:/home/coast/.spicetify
|
save = 100000000;
|
||||||
source ~/.local/src/zsh.d/zsh-autosuggestions.zsh
|
append = true;
|
||||||
export PATH="/usr/bin:$PATH"
|
};
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
enableCompletion = true;
|
||||||
'';
|
shellAliases = {
|
||||||
|
nf = "neofetch";
|
||||||
|
nrs = "sudo nixos-rebuild switch";
|
||||||
|
emoji = "cat ~/.local/src/local/share/emoji | grep";
|
||||||
|
ls = "ls --color=auto";
|
||||||
|
smi = "nvidia-smi";
|
||||||
|
battery = "sb-battery";
|
||||||
|
weather = "curl wttr.in/masjedsoleyman";
|
||||||
|
las = "ls";
|
||||||
|
c = "clear";
|
||||||
|
cear = "clear";
|
||||||
|
".." = "cd ..";
|
||||||
|
hotp = "htop";
|
||||||
|
main = "man";
|
||||||
|
mian = "man";
|
||||||
|
mna = "man";
|
||||||
|
dias = "sudo";
|
||||||
|
delgen = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system";
|
||||||
|
alsamixer = "alsamixer -c 0 --no-color";
|
||||||
|
la = "ls --color=auto -la";
|
||||||
};
|
};
|
||||||
|
initContent = ''
|
||||||
|
autoload -U compinit
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
zmodload zsh/complist
|
||||||
|
compinit
|
||||||
|
comp_options+=(globdots)
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||||
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12"
|
||||||
|
autoload -U colors && colors && setopt prompt_subst
|
||||||
|
PROMPT="[%n@%m %~]%% "
|
||||||
|
export LIBCLANG_PATH=/usr/lib/llvm/20/lib64
|
||||||
|
export PATH=$PATH:/home/coast/.spicetify
|
||||||
|
source ~/.local/src/zsh.d/zsh-autosuggestions.zsh
|
||||||
|
export PATH="/usr/bin:$PATH"
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
TEMP_FULLSCREEN=$(mktemp /tmp/fullscreen_XXXXXX.png)
|
TEMP_FULLSCREEN=$(mktemp /tmp/fullscreen_XXXXXX.png)
|
||||||
grim "$TEMP_FULLSCREEN"
|
grim "$TEMP_FULLSCREEN"
|
||||||
TEMP_FILE=$(mktemp /tmp/screenshot_XXXXXX.png)
|
TEMP_FILE=$(mktemp /tmp/screenshot_XXXXXX.png)
|
||||||
|
|
|
||||||
8
local/bin/setwall.sh
Executable file
8
local/bin/setwall.sh
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
WALL_DIR="/home/coast/.local/src/wall"
|
||||||
|
SUBDIR=$(find "$WALL_DIR" -mindepth 1 -maxdepth 1 -type d | shuf -n1)
|
||||||
|
FILE=$(find "$SUBDIR" -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.jpeg' \) | shuf -n1)
|
||||||
|
if [[ -n "$FILE" ]]; then
|
||||||
|
swaymsg output '*' bg "$FILE" fill
|
||||||
|
fi
|
||||||
2
local/bin/swaybar.sh
Executable file
2
local/bin/swaybar.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
date '+%I:%M:%S %p'
|
||||||
2
local/bin/vesktop.sh
Executable file
2
local/bin/vesktop.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
vesktop --ozone-platform=wayland
|
||||||
Loading…
Add table
Reference in a new issue