mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 06:18:03 +03:00
big great refactor
This commit is contained in:
1 parent
596bcb4a94
commit
5a7501eec0
73 files changed
+537
-644
No files matched your search
Executable
+10
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../home/git.nix
|
||||
./homebrew
|
||||
./system
|
||||
./users
|
||||
];
|
||||
}
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
homebrew = {
|
||||
enable = true;
|
||||
onActivation = {
|
||||
autoUpdate = true;
|
||||
upgrade = true;
|
||||
cleanup = "uninstall";
|
||||
};
|
||||
brews = [ ];
|
||||
casks = [ ];
|
||||
};
|
||||
}
|
||||
Executable
+71
@@ -0,0 +1,71 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib) mkAfter;
|
||||
in
|
||||
|
||||
{
|
||||
nix.enable = false;
|
||||
|
||||
time.timeZone = "Europe/Istanbul";
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-color-emoji
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
|
||||
system.defaults = {
|
||||
NSGlobalDomain = {
|
||||
AppleInterfaceStyle = "Dark";
|
||||
InitialKeyRepeat = 15;
|
||||
KeyRepeat = 2;
|
||||
ApplePressAndHoldEnabled = false;
|
||||
AppleShowAllFiles = true;
|
||||
AppleShowAllExtensions = true;
|
||||
"com.apple.springing.enabled" = true;
|
||||
"com.apple.springing.delay" = 0.0;
|
||||
};
|
||||
CustomSystemPreferences = {
|
||||
"com.apple.desktopservices" = {
|
||||
DSDontWriteNetworkStores = true;
|
||||
DSDontWriteUSBStores = true;
|
||||
};
|
||||
"com.apple.AdLib" = {
|
||||
allowApplePersonalizedAdvertising = false;
|
||||
allowIdentifierForAdvertising = false;
|
||||
forceLimitAdTracking = true;
|
||||
personalizedAdsMigrated = false;
|
||||
};
|
||||
};
|
||||
dock = {
|
||||
autohide = true;
|
||||
orientation = "bottom";
|
||||
tilesize = 48;
|
||||
};
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
ShowPathbar = true;
|
||||
FXEnableExtensionChangeWarning = false;
|
||||
NewWindowTarget = "Home";
|
||||
FXPreferredViewStyle = "Nlsv";
|
||||
};
|
||||
loginwindow = {
|
||||
DisableConsoleAccess = true;
|
||||
GuestEnabled = false;
|
||||
};
|
||||
LaunchServices.LSQuarantine = false;
|
||||
};
|
||||
|
||||
system.activationScripts.postActivation.text = mkAfter ''
|
||||
echo "unhiding ${config.users.users.${config.system.primaryUser}.home}/Library..."
|
||||
/usr/bin/chflags nohidden ${config.users.users.${config.system.primaryUser}.home}/Library
|
||||
'';
|
||||
}
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
system.primaryUser = "sohryu";
|
||||
users.users.sohryu = {
|
||||
name = "sohryu";
|
||||
home = "/Users/sohryu";
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
environment.systemPackages = [ pkgs.nh ];
|
||||
environment.variables.NH_FLAKE = "/Users/sohryu/copland";
|
||||
}
|
||||
BIN
Binary file not shown.
Executable
+28
@@ -0,0 +1,28 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
base = ''
|
||||
[user]
|
||||
name = elwrcl
|
||||
email = elwerici@proton.me
|
||||
signingkey = AAC15D93AFCAB283
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[tag]
|
||||
gpgsign = true
|
||||
'';
|
||||
|
||||
darwinExtra = ''
|
||||
[credential]
|
||||
helper = osxkeychain
|
||||
'';
|
||||
|
||||
gitconfig = pkgs.writeText "gitconfig" (base + lib.optionalString pkgs.stdenv.isDarwin darwinExtra);
|
||||
in
|
||||
{
|
||||
environment.variables.GIT_CONFIG_SYSTEM = "${gitconfig}";
|
||||
}
|
||||
Executable
+139
@@ -0,0 +1,139 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ./hyprland.nix ];
|
||||
|
||||
home.username = "elars";
|
||||
home.homeDirectory = "/home/elars";
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "zen-beta.desktop";
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
initContent = ''
|
||||
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
|
||||
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
||||
|
||||
alias ls='eza --icons --group-directories-first'
|
||||
alias ll='eza -lah --icons --group-directories-first'
|
||||
alias la='eza -a --icons --group-directories-first'
|
||||
alias lt='eza --tree --level=2 --icons'
|
||||
|
||||
alias cd='z'
|
||||
alias cat='bat'
|
||||
alias grep='grep --color=auto'
|
||||
alias df='df -h'
|
||||
alias du='du -h'
|
||||
alias free='free -h'
|
||||
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
alias rm='trash-put'
|
||||
|
||||
alias sysinfo='fastfetch'
|
||||
alias monitor='sudo btop'
|
||||
alias ports='sudo ss -tulpn'
|
||||
alias myip='curl ifconfig.me'
|
||||
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
alias ~='cd ~'
|
||||
alias -- -='cd -'
|
||||
|
||||
alias gs='git status'
|
||||
alias ga='git add'
|
||||
alias gc='git commit -m'
|
||||
alias gp='git push'
|
||||
alias gl='git log --oneline --graph --decorate'
|
||||
|
||||
alias rebuild='git -C ~/copland add -A && git -C ~/copland commit -m "update" && nh os switch'
|
||||
alias rebuild-dry='nh os switch --dry'
|
||||
alias rebuild-cop='nix flake update --flake ~/copland && git -C ~/copland add -A && git -C ~/copland commit -m "flake update $(date +%Y-%m-%d)" && nh os switch'
|
||||
|
||||
extract() {
|
||||
if [ -f "$1" ]; then
|
||||
case "$1" in
|
||||
*.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;;
|
||||
*.bz2) bunzip2 "$1" ;; *.rar) unrar e "$1" ;;
|
||||
*.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;;
|
||||
*.zip) unzip "$1" ;; *.7z) 7z x "$1" ;;
|
||||
*) echo "'$1' can't be extracted" ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTFILE=~/.zsh_history
|
||||
setopt HIST_IGNORE_DUPS HIST_IGNORE_SPACE SHARE_HISTORY AUTO_CD
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||
|
||||
export MESA_GL_VERSION_OVERRIDE=4.6
|
||||
export MESA_GLSL_VERSION_OVERRIDE=460
|
||||
export MESA_SHADER_CACHE_MAX_SIZE=2G
|
||||
export MESA_SHADER_CACHE_DIR=/tmp/mesa_shader_cache
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
copetch --ascii
|
||||
'';
|
||||
};
|
||||
|
||||
programs.starship.enable = true;
|
||||
programs.fzf.enable = true;
|
||||
programs.zoxide.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme.name = "Adwaita-dark";
|
||||
theme.package = pkgs.gnome-themes-extra;
|
||||
gtk4.theme.name = "Adwaita-dark";
|
||||
gtk4.theme.package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
style.name = "adwaita-dark";
|
||||
style.package = pkgs.adwaita-qt;
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 24;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
|
||||
dconf.settings."org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
gtk-theme = "Adwaita-dark";
|
||||
};
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"inode/directory" = [ "thunar.desktop" ];
|
||||
"x-scheme-handler/http" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/https" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/about" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/unknown" = [ "zen-beta.desktop" ];
|
||||
};
|
||||
};
|
||||
services.easyeffects.enable = true;
|
||||
}
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hyprland/env.nix
|
||||
./hyprland/execs.nix
|
||||
./hyprland/general.nix
|
||||
./hyprland/rules.nix
|
||||
./hyprland/keybinds.nix
|
||||
];
|
||||
}
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"XCURSOR_SIZE,24"
|
||||
"XCURSOR_THEME,Bibata-Modern-Classic"
|
||||
"QT_STYLE_OVERRIDE,adwaita-dark"
|
||||
"GDK_BACKEND,wayland,x11"
|
||||
"QT_QPA_PLATFORM,wayland;xcb"
|
||||
"QT_QPA_PLATFORMTHEME,gtk3"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
"TERMINAL,ghostty"
|
||||
"MESA_GL_VERSION_OVERRIDE,4.6"
|
||||
"MESA_GLSL_VERSION_OVERRIDE,460"
|
||||
];
|
||||
};
|
||||
}
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"noctalia-shell"
|
||||
"hyprctl setcursor Bibata-Modern-Classic 24"
|
||||
"wl-paste --type text --watch cliphist store"
|
||||
"wl-paste --type image --watch cliphist store"
|
||||
];
|
||||
};
|
||||
}
|
||||
Executable
+108
@@ -0,0 +1,108 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = ",preferred,auto,1";
|
||||
|
||||
general = {
|
||||
gaps_in = 4;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgba(ffffffff)";
|
||||
"col.inactive_border" = "rgba(ffffff66)";
|
||||
resize_on_border = true;
|
||||
allow_tearing = true;
|
||||
layout = "scrolling";
|
||||
};
|
||||
|
||||
scrolling = {
|
||||
column_width = 0.45;
|
||||
fullscreen_on_one_column = true;
|
||||
focus_fit_method = 1;
|
||||
follow_focus = true;
|
||||
direction = "right";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
rounding_power = 2;
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
dim_inactive = true;
|
||||
dim_strength = 0.05;
|
||||
blur = {
|
||||
enabled = false;
|
||||
};
|
||||
shadow = {
|
||||
enabled = false;
|
||||
};
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "tr";
|
||||
numlock_by_default = true;
|
||||
repeat_delay = 250;
|
||||
repeat_rate = 35;
|
||||
sensitivity = -5;
|
||||
accel_profile = "adaptive";
|
||||
follow_mouse = 1;
|
||||
#force_no_accel = true;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
disable_while_typing = true;
|
||||
clickfinger_behavior = true;
|
||||
scroll_factor = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe_distance = 700;
|
||||
workspace_swipe_cancel_ratio = 0.2;
|
||||
workspace_swipe_min_speed_to_force = 5;
|
||||
workspace_swipe_direction_lock = true;
|
||||
workspace_swipe_create_new = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
mouse_move_enables_dpms = true;
|
||||
key_press_enables_dpms = true;
|
||||
animate_manual_resizes = false;
|
||||
focus_on_activate = false;
|
||||
};
|
||||
|
||||
bezier = [
|
||||
"omniDecel, 0.05, 0.9, 0.1, 1"
|
||||
"omniAccel, 0.3, 0, 0.8, 0.15"
|
||||
"omniSmooth, 0.25, 0.1, 0.25, 1"
|
||||
"omniOvershoot, 0.16, 1, 0.3, 1"
|
||||
"menu_decel, 0.1, 1, 0, 1"
|
||||
"menu_accel, 0.52, 0.03, 0.72, 0.08"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windowsIn, 1, 6, omniOvershoot, popin 86%"
|
||||
"windowsOut, 1, 5, omniAccel, popin 92%"
|
||||
"windowsMove, 1, 6, omniDecel, slide"
|
||||
"fadeIn, 1, 5, omniDecel"
|
||||
"fadeOut, 1, 4, omniAccel"
|
||||
"border, 1, 10, omniSmooth"
|
||||
"layersIn, 1, 5, omniDecel, popin 92%"
|
||||
"layersOut, 1, 4, omniAccel, popin 94%"
|
||||
"fadeLayersIn, 1, 3, omniDecel"
|
||||
"fadeLayersOut, 1, 3, omniAccel"
|
||||
"workspaces, 1, 8, omniDecel, slide"
|
||||
"specialWorkspaceIn, 1, 5, omniDecel, slidevert"
|
||||
"specialWorkspaceOut, 1, 4, omniAccel, slidevert"
|
||||
];
|
||||
|
||||
device = [
|
||||
{
|
||||
name = "hp--inc-hyperx-cloud-alpha-s-consumer-control";
|
||||
enabled = false;
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
}
|
||||
Executable
+126
@@ -0,0 +1,126 @@
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
ipc = "noctalia-shell ipc call";
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
bindr = [
|
||||
"$mainMod, SUPER_L, exec, ${ipc} launcher toggle"
|
||||
];
|
||||
|
||||
bind = [
|
||||
# workspace
|
||||
"CTRL $mainMod, right, layoutmsg, focus r"
|
||||
"CTRL $mainMod, left, layoutmsg, focus l"
|
||||
"CTRL $mainMod, down, workspace, r+1"
|
||||
"CTRL $mainMod, up, workspace, r-1"
|
||||
"CTRL $mainMod SHIFT, right, layoutmsg, movewindowto r"
|
||||
"CTRL $mainMod SHIFT, left, layoutmsg, movewindowto l"
|
||||
"CTRL $mainMod SHIFT, down, movetoworkspace, r+1"
|
||||
"CTRL $mainMod SHIFT, up, movetoworkspace, r-1"
|
||||
"$mainMod, R, layoutmsg, colresize +conf"
|
||||
"$mainMod, C, layoutmsg, center"
|
||||
"$mainMod SHIFT, R, layoutmsg, colresize 0.7"
|
||||
|
||||
# interface
|
||||
"$mainMod, P, exec, ${ipc} bar toggle"
|
||||
"CTRL ALT, Delete, exec, ${ipc} sessionMenu toggle"
|
||||
# plugins
|
||||
"$mainMod SHIFT, S, exec, ${ipc} plugin:screen-shot-and-record screenshot"
|
||||
"$mainMod SHIFT, Z, exec, ${ipc} plugin:screen-shot-and-record search"
|
||||
"$mainMod SHIFT, X, exec, ${ipc} plugin:screen-shot-and-record ocr"
|
||||
"$mainMod SHIFT, C, exec, ${ipc} plugin:music panel"
|
||||
# launchers
|
||||
"$mainMod, Return, exec, ghostty"
|
||||
"$mainMod, W, exec, zen-beta"
|
||||
"$mainMod, E, exec, thunar"
|
||||
"$mainMod, Z, exec, zeditor"
|
||||
"$mainMod ALT, V, exec, pavucontrol"
|
||||
"$mainMod SHIFT, V, exec, ${ipc} launcher clipboard"
|
||||
"$mainMod SHIFT, L, exec, ${ipc} lockScreen lock"
|
||||
"CTRL SHIFT, Escape, exec, ghostty -e sudo btop"
|
||||
|
||||
# window management
|
||||
"$mainMod, Q, killactive"
|
||||
"$mainMod ALT, SPACE, togglefloating"
|
||||
"$mainMod, F, fullscreen, 0"
|
||||
"$mainMod, D, fullscreen, 1"
|
||||
"$mainMod ALT, P, pin"
|
||||
|
||||
# focus windows
|
||||
"$mainMod, left, layoutmsg, move -col"
|
||||
"$mainMod, right, layoutmsg, move +col"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
|
||||
"$mainMod SHIFT, left, layoutmsg, movewindowto l"
|
||||
"$mainMod SHIFT, right, layoutmsg, movewindowto r"
|
||||
"$mainMod SHIFT, up, movewindow, u"
|
||||
"$mainMod SHIFT, down, movewindow, d"
|
||||
|
||||
# workspace navigation
|
||||
"$mainMod, 1, workspace, 1"
|
||||
"$mainMod, 2, workspace, 2"
|
||||
"$mainMod, 3, workspace, 3"
|
||||
"$mainMod, 4, workspace, 4"
|
||||
"$mainMod, 5, workspace, 5"
|
||||
"$mainMod, 6, workspace, 6"
|
||||
"$mainMod, 7, workspace, 7"
|
||||
"$mainMod, 8, workspace, 8"
|
||||
"$mainMod, 9, workspace, 9"
|
||||
"$mainMod, 0, workspace, 10"
|
||||
|
||||
# move windows to workspace
|
||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# special workspaces
|
||||
"$mainMod, S, togglespecialworkspace"
|
||||
"$mainMod ALT, S, movetoworkspacesilent, special"
|
||||
|
||||
# mouse workspace navigation
|
||||
"$mainMod, mouse_up, workspace, +1"
|
||||
"$mainMod, mouse_down, workspace, -1"
|
||||
|
||||
# media keys
|
||||
"$mainMod SHIFT, N, exec, playerctl next"
|
||||
"$mainMod SHIFT, B, exec, playerctl previous"
|
||||
"$mainMod SHIFT, P, exec, playerctl play-pause"
|
||||
];
|
||||
|
||||
# mouse binds
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
# volume and brightness binds
|
||||
bindel = [
|
||||
", XF86AudioRaiseVolume, exec, ${ipc} volume increase"
|
||||
", XF86AudioLowerVolume, exec, ${ipc} volume decrease"
|
||||
", XF86MonBrightnessUp, exec, ${ipc} brightness increase"
|
||||
", XF86MonBrightnessDown, exec, ${ipc} brightness decrease"
|
||||
];
|
||||
|
||||
# volume and media keys
|
||||
bindl = [
|
||||
", XF86AudioMute, exec, ${ipc} volume muteOutput"
|
||||
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
", XF86AudioPause, exec, playerctl play-pause"
|
||||
];
|
||||
};
|
||||
}
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
windowrule = [
|
||||
"float on, match:title ^(Open File)(.*)$"
|
||||
"center on, match:title ^(Open File)(.*)$"
|
||||
"float on, match:title ^(Save As)(.*)$"
|
||||
"center on, match:title ^(Save As)(.*)$"
|
||||
"float on, match:title ^(File Upload)(.*)$"
|
||||
"center on, match:title ^(File Upload)(.*)$"
|
||||
"float on, match:class ^(pavucontrol)$"
|
||||
"center on, match:class ^(pavucontrol)$"
|
||||
"size 45% 45%, match:class ^(pavucontrol)$"
|
||||
"float on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$"
|
||||
"pin on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$"
|
||||
"keep_aspect_ratio on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$"
|
||||
"immediate on, match:class ^(steam_app).*"
|
||||
"float on, match:class ^(steam)$"
|
||||
"float off, match:class ^(steam)$, match:title ^(Steam)$"
|
||||
];
|
||||
};
|
||||
}
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ./hypr/default.nix ];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
configType = "hyprlang";
|
||||
xwayland.enable = true;
|
||||
systemd.enable = false;
|
||||
systemd.variables = [ "-all" ];
|
||||
};
|
||||
}
|
||||
BIN
Binary file not shown.
Executable
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.efibootmgr ];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_cachyos-lto;
|
||||
|
||||
boot.kernelParams = [
|
||||
"preempt=full"
|
||||
"mitigations=off"
|
||||
"usbcore.autosuspend=-1"
|
||||
"transparent_hugepage=madvise"
|
||||
];
|
||||
|
||||
boot.loader = {
|
||||
timeout = 5;
|
||||
efi = {
|
||||
canTouchEfiVariables = false;
|
||||
efiSysMountPoint = "/boot";
|
||||
};
|
||||
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 5;
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../home/git.nix
|
||||
./boot
|
||||
./desktop
|
||||
./gaming
|
||||
./hardware
|
||||
./networking
|
||||
./services
|
||||
./system
|
||||
./users
|
||||
./virtualization
|
||||
];
|
||||
}
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./pipewire.nix
|
||||
];
|
||||
}
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
extraConfig.pipewire."10-realtime" = {
|
||||
"context.modules" = [
|
||||
{
|
||||
name = "libpipewire-module-rt";
|
||||
args = {
|
||||
"nice.level" = -15;
|
||||
"rt.prio" = 88;
|
||||
"rt.time.soft" = 200000;
|
||||
"rt.time.hard" = 400000;
|
||||
};
|
||||
flags = [
|
||||
"ifexists"
|
||||
"nofail"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
extraConfig.pipewire."92-quantum" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.allowed-rates" = [ 48000 ];
|
||||
"default.clock.quantum" = 1024;
|
||||
"default.clock.min-quantum" = 1024;
|
||||
"default.clock.max-quantum" = 1024;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+50
@@ -0,0 +1,50 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./display
|
||||
./window-managers
|
||||
./audio
|
||||
];
|
||||
|
||||
xdg.mime = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
# gui
|
||||
"text/html" = "zen-beta.desktop";
|
||||
"x-scheme-handler/http" = "zen-beta.desktop";
|
||||
"x-scheme-handler/https" = "zen-beta.desktop";
|
||||
"x-scheme-handler/about" = "zen-beta.desktop";
|
||||
"x-scheme-handler/unknown" = "zen-beta.desktop";
|
||||
"x-scheme-handler/steam" = "steam.desktop";
|
||||
|
||||
# media
|
||||
"image/png" = "org.gnome.Loupe.desktop";
|
||||
"image/jpeg" = "org.gnome.Loupe.desktop";
|
||||
"image/gif" = "org.gnome.Loupe.desktop";
|
||||
"image/bmp" = "org.gnome.Loupe.desktop";
|
||||
"image/svg+xml" = "org.gnome.Loupe.desktop";
|
||||
"image/webp" = "org.gnome.Loupe.desktop";
|
||||
"image/tiff" = "org.gnome.Loupe.desktop";
|
||||
"video/mp4" = "mpv.desktop";
|
||||
"video/x-matroska" = "mpv.desktop";
|
||||
"video/webm" = "mpv.desktop";
|
||||
"video/avi" = "mpv.desktop";
|
||||
"video/quicktime" = "mpv.desktop";
|
||||
"audio/mpeg" = "mpv.desktop";
|
||||
"audio/flac" = "mpv.desktop";
|
||||
"audio/ogg" = "mpv.desktop";
|
||||
|
||||
# code
|
||||
"text/plain" = "zeditor.desktop";
|
||||
"text/x-rust" = "zeditor.desktop";
|
||||
"text/x-nix" = "zeditor.desktop";
|
||||
"text/x-csrc" = "zeditor.desktop";
|
||||
"text/x-chdr" = "zeditor.desktop";
|
||||
"text/x-python" = "zeditor.desktop";
|
||||
"text/x-shellscript" = "zeditor.desktop";
|
||||
"application/json" = "zeditor.desktop";
|
||||
"application/x-shellscript" = "zeditor.desktop";
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.displayManager.ly = {
|
||||
enable = true;
|
||||
settings = {
|
||||
animation = "colormix";
|
||||
colormix_col1 = "0x00FFFFFF";
|
||||
colormix_col2 = "0x000000EE";
|
||||
colormix_col3 = "0x00777799";
|
||||
bigclock = "en";
|
||||
bigclock_12hr = false;
|
||||
fg = "0x00FFFFFF";
|
||||
bg = "0x00000000";
|
||||
border_fg = "0x00FFFFFF";
|
||||
error_fg = "0x01FF0000";
|
||||
blank_box = true;
|
||||
hide_borders = false;
|
||||
margin_box_h = 2;
|
||||
margin_box_v = 1;
|
||||
};
|
||||
};
|
||||
|
||||
services.xserver.xkb = {
|
||||
layout = "tr";
|
||||
variant = "";
|
||||
};
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
];
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
config.hyprland.default = [
|
||||
"hyprland"
|
||||
"gtk"
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
dbus.enable = true;
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
glib
|
||||
dconf
|
||||
dconf-editor
|
||||
xdg-utils
|
||||
xdg-user-dirs
|
||||
];
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./steam
|
||||
];
|
||||
|
||||
programs.gamemode = {
|
||||
enable = true;
|
||||
enableRenice = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
protonup-qt
|
||||
mangohud
|
||||
];
|
||||
}
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
};
|
||||
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = false;
|
||||
};
|
||||
|
||||
hardware.steam-hardware.enable = true;
|
||||
}
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
hardware.bluetooth.enable = true;
|
||||
}
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./bluetooth
|
||||
./graphics
|
||||
./udev
|
||||
];
|
||||
}
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
}
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
driver = config.elars.hardware.graphics.driver;
|
||||
in
|
||||
{
|
||||
options.elars.hardware.graphics.driver = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"intel"
|
||||
"amd"
|
||||
"nvidia"
|
||||
"hybrid-amd-nvidia"
|
||||
];
|
||||
default = "intel";
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf (driver == "intel") (import ./intel.nix { inherit config lib pkgs; }))
|
||||
(lib.mkIf (driver == "amd") (import ./amd.nix { inherit config lib pkgs; }))
|
||||
(lib.mkIf (driver == "nvidia") (import ./nvidia.nix { inherit config lib pkgs; }))
|
||||
(lib.mkIf (driver == "hybrid-amd-nvidia") (
|
||||
lib.mkMerge [
|
||||
(import ./amd.nix { inherit config lib pkgs; })
|
||||
(import ./nvidia.nix { inherit config lib pkgs; })
|
||||
(import ./prime.nix { inherit config lib pkgs; })
|
||||
]
|
||||
))
|
||||
];
|
||||
}
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
wayland-intel-vaapi-driver = pkgs.intel-vaapi-driver.overrideAttrs (oldAttrs: {
|
||||
version = "2.4.4-wayland-fix";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "irql-notlessorequal";
|
||||
repo = "intel-vaapi-driver";
|
||||
rev = "929e936ec1f451a5daa12b0c7367687b712b8c2c";
|
||||
hash = "sha256-tZ1rZ+4bRxarcFQhP8V2Mfz0sJ5rBgHYLu2ulrQwL+U=";
|
||||
};
|
||||
});
|
||||
|
||||
wayland-intel-vaapi-driver-32 = pkgs.pkgsi686Linux.intel-vaapi-driver.overrideAttrs (oldAttrs: {
|
||||
version = "2.4.4-wayland-fix";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "irql-notlessorequal";
|
||||
repo = "intel-vaapi-driver";
|
||||
rev = "929e936ec1f451a5daa12b0c7367687b712b8c2c";
|
||||
hash = "sha256-tZ1rZ+4bRxarcFQhP8V2Mfz0sJ5rBgHYLu2ulrQwL+U=";
|
||||
};
|
||||
});
|
||||
in
|
||||
{
|
||||
hardware.graphics.extraPackages = [
|
||||
wayland-intel-vaapi-driver
|
||||
pkgs.libvdpau-va-gl
|
||||
pkgs.mesa
|
||||
];
|
||||
|
||||
hardware.graphics.extraPackages32 = [
|
||||
wayland-intel-vaapi-driver-32
|
||||
pkgs.pkgsi686Linux.libvdpau-va-gl
|
||||
pkgs.pkgsi686Linux.mesa
|
||||
];
|
||||
|
||||
services.xserver.videoDrivers = [ "modesetting" ];
|
||||
|
||||
environment.variables = {
|
||||
LIBVA_DRIVER_NAME = "i965";
|
||||
};
|
||||
}
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
}
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
hardware.nvidia.prime = {
|
||||
offload.enable = true;
|
||||
amdgpuBusId = "PCI:X:X:X";
|
||||
nvidiaBusId = "PCI:X:X:X";
|
||||
};
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="ttyACM[0-9]*", MODE="0666"
|
||||
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
|
||||
'';
|
||||
services.udisks2.enable = true;
|
||||
services.tumbler.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id.match("org.freedesktop.udisks2.") &&
|
||||
subject.isInGroup("wheel")) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
}
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./vpn
|
||||
./network-manager
|
||||
];
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
networking.hostName = "copland";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
Resolve = {
|
||||
DNS = "1.1.1.1";
|
||||
DNSOverTLS = "yes";
|
||||
DNSSEC = "false";
|
||||
Domains = [ "~." ];
|
||||
FallbackDNS = [
|
||||
"1.1.1.1"
|
||||
"8.8.8.8"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.zapret = {
|
||||
enable = true;
|
||||
params = [
|
||||
"--filter-tcp=80"
|
||||
"--dpi-desync=fake,multisplit"
|
||||
"--dpi-desync-split-pos=method+2"
|
||||
"--dpi-desync-fooling=md5sig"
|
||||
"--new"
|
||||
"--filter-tcp=443"
|
||||
"--dpi-desync=fake,multidisorder"
|
||||
"--dpi-desync-split-pos=1,midsld"
|
||||
"--dpi-desync-fooling=badseq,md5sig"
|
||||
"--new"
|
||||
"--filter-udp=443"
|
||||
"--dpi-desync=fake"
|
||||
"--dpi-desync-repeats=6"
|
||||
];
|
||||
};
|
||||
|
||||
networking.enableIPv6 = false;
|
||||
|
||||
networking.firewall.extraCommands = ''
|
||||
iptables -I OUTPUT -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -j NFQUEUE --queue-num 200 --queue-bypass
|
||||
iptables -I OUTPUT -p udp --dport 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -j NFQUEUE --queue-num 200 --queue-bypass
|
||||
iptables -I OUTPUT -m mark --mark 0x40000000/0x40000000 -j RETURN
|
||||
'';
|
||||
|
||||
networking.firewall.extraStopCommands = ''
|
||||
iptables -D OUTPUT -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -j NFQUEUE --queue-num 200 --queue-bypass || true
|
||||
iptables -D OUTPUT -p udp --dport 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:9 -j NFQUEUE --queue-num 200 --queue-bypass || true
|
||||
iptables -D OUTPUT -m mark --mark 0x40000000/0x40000000 -j RETURN || true
|
||||
'';
|
||||
}
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
};
|
||||
}
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./appimage
|
||||
./flatpak
|
||||
./fwupd
|
||||
./kde_connect
|
||||
./ollama
|
||||
./performance
|
||||
./printing
|
||||
./security
|
||||
./ssh
|
||||
];
|
||||
}
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.flatpak.enable = true;
|
||||
}
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.fwupd.enable = true;
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.kdeconnect.enable = true;
|
||||
}
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.ollama.enable = true;
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.scx = {
|
||||
enable = false;
|
||||
scheduler = "scx_rustland";
|
||||
};
|
||||
services.irqbalance.enable = true;
|
||||
services.power-profiles-daemon.enable = true;
|
||||
services.upower.enable = true;
|
||||
}
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = [
|
||||
pkgs.cnijfilter2
|
||||
pkgs.gutenprint
|
||||
pkgs.gutenprintBin
|
||||
];
|
||||
};
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
addresses = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
extraBackends = [ pkgs.sane-airscan ];
|
||||
};
|
||||
}
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = false;
|
||||
};
|
||||
|
||||
security.wrappers = {
|
||||
gsr-kms-server = {
|
||||
source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server";
|
||||
capabilities = "cap_sys_admin+ep";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
permissions = "u+rx,g+rx,o+rx";
|
||||
};
|
||||
};
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
}
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.openssh.enable = true;
|
||||
}
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./locale
|
||||
./nix
|
||||
./fonts
|
||||
./kmscon
|
||||
];
|
||||
}
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-color-emoji
|
||||
ipaexfont
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.caskaydia-cove
|
||||
nerd-fonts.symbols-only
|
||||
];
|
||||
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
antialias = true;
|
||||
|
||||
hinting = {
|
||||
enable = true;
|
||||
style = "slight";
|
||||
autohint = false;
|
||||
};
|
||||
|
||||
subpixel = {
|
||||
rgba = "rgb";
|
||||
lcdfilter = "default";
|
||||
};
|
||||
|
||||
defaultFonts = {
|
||||
serif = [
|
||||
"JetBrainsMono Nerd Font"
|
||||
"Noto Serif CJK JP"
|
||||
"Noto Serif"
|
||||
"IPAexMincho"
|
||||
];
|
||||
sansSerif = [
|
||||
"JetBrainsMono Nerd Font"
|
||||
"Noto Sans CJK JP"
|
||||
"Noto Sans"
|
||||
"IPAexGothic"
|
||||
];
|
||||
monospace = [
|
||||
"JetBrainsMono Nerd Font Mono"
|
||||
"JetBrainsMono Nerd Font"
|
||||
"Noto Sans Mono CJK JP"
|
||||
"Noto Sans CJK JP"
|
||||
"IPAexGothic"
|
||||
];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services.kmscon = {
|
||||
enable = true;
|
||||
hwRender = true;
|
||||
fonts = [
|
||||
{
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||
}
|
||||
];
|
||||
extraConfig = ''
|
||||
font-size=18
|
||||
'';
|
||||
};
|
||||
}
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
time.timeZone = "Europe/Istanbul";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "tr_TR.UTF-8";
|
||||
LC_IDENTIFICATION = "tr_TR.UTF-8";
|
||||
LC_MEASUREMENT = "tr_TR.UTF-8";
|
||||
LC_MONETARY = "tr_TR.UTF-8";
|
||||
LC_NAME = "tr_TR.UTF-8";
|
||||
LC_NUMERIC = "tr_TR.UTF-8";
|
||||
LC_PAPER = "tr_TR.UTF-8";
|
||||
LC_TELEPHONE = "tr_TR.UTF-8";
|
||||
LC_TIME = "tr_TR.UTF-8";
|
||||
};
|
||||
services.timesyncd.enable = false;
|
||||
|
||||
services.chrony = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
makestep 1.0 -1
|
||||
server 162.159.200.1 iburst
|
||||
server 216.239.35.0 iburst
|
||||
server time.cloudflare.com iburst
|
||||
server time.google.com iburst
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.chronyd = {
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
};
|
||||
console.keyMap = "trq";
|
||||
console.font = "LatArCyrHeb-16";
|
||||
console.earlySetup = true;
|
||||
system.stateVersion = "25.05";
|
||||
}
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
nix.settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
max-jobs = 1;
|
||||
cores = 0;
|
||||
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://ezkea.cachix.org"
|
||||
"https://noctalia.cachix.org"
|
||||
"https://hyprland.cachix.org"
|
||||
"https://cache.garnix.io"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
|
||||
"noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
];
|
||||
};
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
}
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
users.users.elars = {
|
||||
isNormalUser = true;
|
||||
description = "elars";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
"video"
|
||||
"audio"
|
||||
"lp"
|
||||
"scanner"
|
||||
"libvirtd"
|
||||
"plugdev"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
clean.enable = true;
|
||||
clean.extraArgs = "--keep-since 4d --keep 3";
|
||||
flake = "/home/elars/copland";
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestions.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
}
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./docker
|
||||
./virt-manager
|
||||
];
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
virtualisation.docker.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
}
|
||||
Reference in new issue
Block a user