Compare commits

...

5 commits

Author SHA1 Message Date
coast
c5da423bc0 stuff 2025-10-27 01:15:45 +03:30
coast
829e9c7e56 stuff 2025-10-27 01:13:24 +03:30
coast
faa09ea0c7 stuff 2025-10-26 23:13:27 +03:30
coast
9c3d012f9d init 2025-10-25 16:16:41 +03:30
coast
ab8cd74a65 nixos 2025-10-23 23:20:27 +03:30
10 changed files with 195 additions and 77 deletions

24
.wezterm.lua Normal file
View 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
View file

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

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

View file

@ -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" ];

View file

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

View file

@ -2,13 +2,16 @@
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";
@ -17,12 +20,78 @@ in {
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
]; ];
wayland.windowManager.sway = {
enable = true;
wrapperFeatures.gtk = true;
config = {
modifier = "Mod4";
gaps = {
inner = 5;
outer = 10;
};
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";
};
startup = [
{ command = "autotiling"; }
];
};
};
programs.zsh = { programs.zsh = {
enable = true; enable = true;
history = { history = {
@ -34,7 +103,7 @@ in {
enableCompletion = true; enableCompletion = true;
shellAliases = { shellAliases = {
nf = "neofetch"; nf = "neofetch";
nrs = "doas nixos-rebuild switch"; nrs = "sudo nixos-rebuild switch";
emoji = "cat ~/.local/src/local/share/emoji | grep"; emoji = "cat ~/.local/src/local/share/emoji | grep";
ls = "ls --color=auto"; ls = "ls --color=auto";
smi = "nvidia-smi"; smi = "nvidia-smi";
@ -48,8 +117,8 @@ in {
main = "man"; main = "man";
mian = "man"; mian = "man";
mna = "man"; mna = "man";
dias = "doas"; dias = "sudo";
delgen = "doas nix-env --delete-generations old --profile /nix/var/nix/profiles/system"; delgen = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system";
alsamixer = "alsamixer -c 0 --no-color"; alsamixer = "alsamixer -c 0 --no-color";
la = "ls --color=auto -la"; la = "ls --color=auto -la";
}; };

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)

8
local/bin/setwall.sh Executable file
View 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
View file

@ -0,0 +1,2 @@
#!/bin/sh
date '+%I:%M:%S %p'

2
local/bin/vesktop.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/sh
vesktop --ozone-platform=wayland