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.enableIPv6 = false;
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Asia/Tehran";
|
||||
|
||||
hardware = {
|
||||
|
|
@ -28,6 +29,14 @@ in
|
|||
open = false;
|
||||
nvidiaSettings = true;
|
||||
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.powerOnBoot = true;
|
||||
|
|
@ -35,10 +44,7 @@ in
|
|||
|
||||
security = {
|
||||
sudo.enable = false;
|
||||
doas = {
|
||||
enable = true;
|
||||
extraRules = [{ users = [ "coast" ]; keepEnv = true; persist = true; }];
|
||||
};
|
||||
sudo-rs.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
@ -57,6 +63,8 @@ in
|
|||
simple-mtpfs
|
||||
android-tools
|
||||
unstable.qbittorrent
|
||||
unstable.zathura
|
||||
unstable.kew
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
|
|
|||
|
|
@ -1,21 +1,23 @@
|
|||
{ config, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
videoDrivers = ["nvidia"];
|
||||
windowManager.qtile.enable = true;
|
||||
videoDrivers = ["modesetting" "nvidia"];
|
||||
windowManager.qtile.enable = false;
|
||||
};
|
||||
|
||||
displayManager.ly.enable = true;
|
||||
blueman.enable = true;
|
||||
blueman.enable = false;
|
||||
printing.enable = false;
|
||||
jellyfin.enable = true;
|
||||
#pipewire
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
|
@ -32,6 +34,7 @@
|
|||
nano.enable = false;
|
||||
nekoray.enable = true;
|
||||
nekoray.tunMode.enable = true;
|
||||
sway.enable = true;
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
|
|
@ -40,6 +43,7 @@
|
|||
nerd-fonts._0xproto
|
||||
nerd-fonts.droid-sans-mono
|
||||
nerd-fonts.jetbrains-mono
|
||||
vazir-fonts
|
||||
];
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,73 +1,142 @@
|
|||
{ config, pkgs, ... }: let
|
||||
dotDir = "${config.home.homeDirectory}/.local/src/config/";
|
||||
mkSl = path: config.lib.file.mkOutOfStoreSymlink path;
|
||||
configs = {
|
||||
sway = "sway";
|
||||
kitty = "kitty";
|
||||
foot = "foot";
|
||||
qtile = "qtile";
|
||||
mako = "mako";
|
||||
nvim = "nvim";
|
||||
};
|
||||
dotDir = "${config.home.homeDirectory}/.local/src/config/";
|
||||
mkSl = path: config.lib.file.mkOutOfStoreSymlink path;
|
||||
configs = {
|
||||
kitty = "kitty";
|
||||
foot = "foot";
|
||||
qtile = "qtile";
|
||||
mako = "mako";
|
||||
nvim = "nvim";
|
||||
eww = "eww";
|
||||
};
|
||||
modifier = "Mod4";
|
||||
terminal = "${pkgs.wezterm}/bin/wezterm";
|
||||
menu = "${pkgs.wmenu}/bin/wmenu-run";
|
||||
in {
|
||||
home.username = "coast";
|
||||
home.homeDirectory = "/home/coast";
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
xdg.configFile = builtins.mapAttrs (name: subpath: { source = mkSl "${dotDir}/${subpath}"; recursive = true; }) configs;
|
||||
home.username = "coast";
|
||||
home.homeDirectory = "/home/coast";
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
xdg.configFile = builtins.mapAttrs (name: subpath: { source = mkSl "${dotDir}/${subpath}"; recursive = true; }) configs;
|
||||
|
||||
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
|
||||
swaybg wmenu mako nwg-look xorg.xkill
|
||||
mpv vesktop wlr-randr rtorrent tor-browser
|
||||
nodejs gcc gnumake clang-tools ruby_3_4 pkg-config
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
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
|
||||
mpv vesktop wlr-randr autotiling wezterm
|
||||
nodejs gcc_multi gnumake clang-tools ruby_3_4 pkg-config dmd dtools rustup python3 python313Packages.pip texliveMedium unzip zip
|
||||
];
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
history = {
|
||||
path = "/home/coast/.cache/zsh/history";
|
||||
size = 100000000;
|
||||
save = 100000000;
|
||||
append = true;
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
gaps = {
|
||||
inner = 5;
|
||||
outer = 10;
|
||||
};
|
||||
enableCompletion = true;
|
||||
shellAliases = {
|
||||
nf = "neofetch";
|
||||
nrs = "doas 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 = "doas";
|
||||
delgen = "doas nix-env --delete-generations old --profile /nix/var/nix/profiles/system";
|
||||
alsamixer = "alsamixer -c 0 --no-color";
|
||||
la = "ls --color=auto -la";
|
||||
bars = [{
|
||||
position = "bottom";
|
||||
mode = "dock";
|
||||
id = "bar-0";
|
||||
workspaceNumbers = true;
|
||||
workspaceButtons = true;
|
||||
fonts.size = 9.0;
|
||||
colors.focusedBackground = "#1c1c1c";
|
||||
}];
|
||||
output.eDP-1.disable = "";
|
||||
keybindings = {
|
||||
"${modifier}+Return" = "exec ${terminal}";
|
||||
"${modifier}+r" = "exec ${menu} -l 10";
|
||||
"${modifier}+s" = "kill";
|
||||
"${modifier}+f" = "fullscreen";
|
||||
"${modifier}+Print" = "exec /home/coast/.local/src/local/bin/screenie-wlr";
|
||||
"${modifier}+1" = "workspace 1";
|
||||
"${modifier}+2" = "workspace 2";
|
||||
"${modifier}+3" = "workspace 3";
|
||||
"${modifier}+4" = "workspace 4";
|
||||
"${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 = ''
|
||||
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"
|
||||
'';
|
||||
startup = [
|
||||
{ command = "autotiling"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
history = {
|
||||
path = "/home/coast/.cache/zsh/history";
|
||||
size = 100000000;
|
||||
save = 100000000;
|
||||
append = true;
|
||||
};
|
||||
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)
|
||||
grim "$TEMP_FULLSCREEN"
|
||||
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