This commit is contained in:
coast 2025-10-25 16:16:41 +03:30
parent ab8cd74a65
commit 9c3d012f9d
6 changed files with 151 additions and 86 deletions

1
config/nvim/nvim Symbolic link
View file

@ -0,0 +1 @@
/nix/store/5hcm30287f6kxb02yzr92lmqpx8npgjq-home-manager-files/.config/nvim

@ -1 +1 @@
Subproject commit 8860e8fbba6c77f7cb170c94f02b09cdf006fe6f Subproject commit 01d48cc7c176b3efb72cf8835803cbe6c58b53b3

View file

@ -4,7 +4,7 @@ let
unstable = pkgsUnstable; unstable = pkgsUnstable;
in in
{ {
imports = [ /etc/nixos/hardware-configuration.nix ]; imports = [ ./hardware-configuration.nix ];
boot = { boot = {
readOnlyNixStore = true; readOnlyNixStore = true;
@ -21,14 +21,22 @@ in
time.timeZone = "Asia/Tehran"; time.timeZone = "Asia/Tehran";
hardware = { hardware = {
graphics.enable = true; # graphics.enable = true;
nvidia = { # nvidia = {
modesetting.enable = true; # modesetting.enable = true;
powerManagement.enable = true; # powerManagement.enable = true;
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;
}; };

View file

@ -3,18 +3,21 @@
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 = {
enable = true; security.rtkit.enable = true;
pulse.enable = true; services.pipewire = {
}; enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
}; };
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -32,6 +35,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; [

View file

@ -1,75 +1,127 @@
{ 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";
eww = "eww"; };
}; modifier = "Mod4";
terminal = "footclient";
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 neofetch dysk 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
nodejs gcc gnumake clang-tools ruby_3_4 pkg-config nodejs gcc gnumake clang-tools ruby_3_4 pkg-config dmd dtools rustup
eww ];
];
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; output.eDP-1.disable = "";
shellAliases = { keybindings = {
nf = "neofetch"; "${modifier}+Return" = "exec ${terminal}";
nrs = "doas nixos-rebuild switch"; "${modifier}+r" = "exec ${menu} -l 10";
emoji = "cat ~/.local/src/local/share/emoji | grep"; "${modifier}+s" = "kill";
ls = "ls --color=auto"; "${modifier}+Print" = "exec /home/coast/.local/src/local/bin/screenie-wlr";
smi = "nvidia-smi"; "${modifier}+1" = "workspace 1";
battery = "sb-battery"; "${modifier}+2" = "workspace 2";
weather = "curl wttr.in/masjedsoleyman"; "${modifier}+3" = "workspace 3";
las = "ls"; "${modifier}+4" = "workspace 4";
c = "clear"; "${modifier}+5" = "workspace 5";
cear = "clear"; "${modifier}+6" = "workspace 6";
".." = "cd .."; "${modifier}+7" = "workspace 7";
hotp = "htop"; "${modifier}+8" = "workspace 8";
main = "man"; "${modifier}+9" = "workspace 9";
mian = "man"; "${modifier}+0" = "workspace 10";
mna = "man"; "${modifier}+Shift+1" = "move container to workspace 1";
dias = "doas"; "${modifier}+Shift+2" = "move container to workspace 2";
delgen = "doas nix-env --delete-generations old --profile /nix/var/nix/profiles/system"; "${modifier}+Shift+3" = "move container to workspace 3";
alsamixer = "alsamixer -c 0 --no-color"; "${modifier}+Shift+4" = "move container to workspace 4";
la = "ls --color=auto -la"; "${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";
}; };
initContent = '' startup = [
autoload -U compinit { command = "autotiling"; }
zstyle ':completion:*' menu select { command = "foot -s"; }
zmodload zsh/complist ];
compinit };
comp_options+=(globdots) };
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12" programs.zsh = {
autoload -U colors && colors && setopt prompt_subst enable = true;
PROMPT="[%n@%m %~]%% " history = {
export LIBCLANG_PATH=/usr/lib/llvm/20/lib64 path = "/home/coast/.cache/zsh/history";
export PATH=$PATH:/home/coast/.spicetify size = 100000000;
source ~/.local/src/zsh.d/zsh-autosuggestions.zsh save = 100000000;
export PATH="/usr/bin:$PATH" append = true;
export PATH="$HOME/.local/bin:$PATH" };
''; 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";
}; };
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"
'';
};
} }

View file

@ -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)