Compare commits

..
2 Commits
Author SHA1 Message Date
Simmer 797a0c52c5 Fix sway config 2024-05-28 18:10:08 -05:00
Simmer fa663e4098 Initial configuration 2024-05-28 18:01:06 -05:00
34 changed files with 544 additions and 899 deletions
+162
View File
@@ -0,0 +1,162 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
];
nixpkgs = {
overlays = [];
config = {
allowUnfree = true;
};
};
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.xbootldrMountPoint = "/boot";
boot.loader.efi.efiSysMountPoint = "/efi";
boot.loader.efi.canTouchEfiVariables = true;
powerManagement.powertop.enable = true;
fileSystems = {
"/".options = [ "compress=zstd" ];
"/home".options = [ "compress=zstd" ];
"/nix".options = [ "compress=zstd" "noatime" ];
};
networking.hostName = "alpheratz";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.0.100" ];
networking.firewall = {
allowedUDPPorts = [ 51820 ];
};
networking.wg-quick.interfaces = {
wg0 = {
address = [ "10.6.0.5" ];
listenPort = 51820;
privateKeyFile = "/root/wireguard-keys/wg0/private";
dns = [ "10.2.0.100" ];
peers = [
{
publicKey = "pEWHugUnnhWXkJzCIhXryRRZMoCAuvAITDeP4ItenQk=";
presharedKeyFile = "/root/wireguard-keys/wg0/preshared";
allowedIPs = [ "10.2.0.0/24" "192.168.0.0/24" ];
endpoint = "jellyfin.simmer505.com:51820";
persistentKeepalive = 25;
}
];
};
};
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
services.xserver.xkb.layout = "us";
services.xserver.xkb.options = "caps:escape";
fonts.packages = with pkgs; [
font-awesome
];
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# List packages installed in system profile. To search, run:
environment.systemPackages = with pkgs; with outputs.packages.x86_64-linux; [
wget
curl
ldns
git
killall
vim
wl-clipboard
grim
slurp
waybar
alacritty
kickoff
firefox
bottom
eza
ripgrep
fzf
mpv
wireguard-tools
pulseaudio
eza
pavucontrol
kickoff-dot-desktop
];
programs.sway.enable = true;
programs.fish.enable = true;
programs.thunar.enable = true;
programs.light.enable = true;
programs.neovim = {
enable = true;
defaultEditor = true;
};
xdg.portal.wlr.enable = true;
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audo" "networkmanager" ];
packages = with pkgs; [];
shell = pkgs.fish;
};
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment?
}
+47
View File
@@ -0,0 +1,47 @@
if status is-interactive
### Local environment variables
set -g fish_greeting
set -g fish_cursor_default block
set -g fish_cursor_insert line
set -g fish_cursor_replace_one underscore
set -g fish_cursor_replace underscore
set -g fish_cursor_external line
set -g fish_cursor_visual block
end
if test (tty) = "/dev/tty1"
sway
end
if status is-login
### Environment Variables
# Set nvim to default editor
set -x SUDO_EDITOR = "/usr/bin/nvim"
# Set R library location
set -x R_LIBS_USER = "/home/eesim/.local/lib/R"
# Disable GTK portal
set -x GTK_USE_PORTAL=0
# Wayland environment variables
set -x XDG_CURRENT_DESKTOP = "sway"
set -x XDG_CURRENT_SESSION = "sway"
set -x XDG_SESSION_TYPE = "wayland"
set -x ELECTRON_OZONE_PLATFORM_HINT = "auto"
set -x QT_QPA_PLATFORM = "wayland;xcb"
set -x SDL_VIDEODRIVER = "wayland,x11"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING = "1"
### Themes
set -x QT_QPA_PLATFORMTHEME = "qt5ct"
### Start fish
exec fish
end
+15
View File
@@ -0,0 +1,15 @@
{
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"fzf-lua": { "branch": "main", "commit": "b442569ab827f72e344236c598b02cb9dc754e9f" },
"kanagawa.nvim": { "branch": "master", "commit": "860e4f80df71221d18bf2cd9ef1deb4d364274d2" },
"lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
"nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" },
"nvim-surround": { "branch": "main", "commit": "79aaa42da1f698ed31bcbe7f83081f69dca7ba17" },
"nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
"typst.vim": { "branch": "main", "commit": "d9a7650e76c85f8ba437e056d08dd43b01b8bfd6" }
}
@@ -8,9 +8,7 @@ vim.keymap.set('n', '<C-l>', '<C-w>l')
vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
vim.keymap.set('n', '<leader>rg', ':FzfLua grep<CR>')
vim.keymap.set('i', '<S-Tab>', '<C-d>')
@@ -17,27 +17,19 @@ local plugins = {
'hrsh7th/nvim-cmp',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
'L3MON4D3/LuaSnip',
'rust-lang/rust.vim',
{
'windwp/nvim-autopairs',
event = 'InsertEnter',
opts = {},
opts={},
},
{
'kaarmu/typst.vim',
ft = 'typst',
lazy = false,
},
'jalvesaq/Nvim-R',
{
'RaafatTurki/hex.nvim',
config = function()
require('hex').setup()
end
'kaarmu/typst.vim',
ft = 'typst',
lazy = false,
},
}
@@ -24,22 +24,16 @@ lspconfig.rust_analyzer.setup {
},
}
lspconfig.omnisharp.setup {
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
}
local servers = {'ccls', 'typst_lsp'}
local default_servers = {'pylsp', 'ccls', 'typst_lsp', 'r_language_server', 'lua_ls', 'nil_ls'}
for _, lsp in ipairs(default_servers) do
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
capabilities = capabilities
}
end
local luasnip = require 'luasnip'
local cmp = require 'cmp'
cmp.setup {
preselect = cmp.PreselectMode.None,
mapping = cmp.mapping.preset.insert({
@@ -63,5 +57,3 @@ cmp.setup {
{ name = 'path' },
},
}
@@ -35,5 +35,6 @@ vim.opt.completeopt=menuone,noselect
vim.opt.undofile=true
vim.g['loaded_perl_provider']=0
vim.g['python3_host_prog']='/usr/bin/python3'
vim.g['python3_host_prog']='/usr/bin/python'
+210
View File
@@ -0,0 +1,210 @@
### Variables
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term alacritty
set $menu swaymsg exec $(kickoff-dot-desktop | kickoff --from-stdin --stdout)
### Output configuration
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym $mod+Alt+a exec ydotool key 42:1 54:1 54:0 42:0 40:1 40:0 42:1 54:1 54:0 42:0
bindsym $mod+Alt+o exec ydotool key 42:1 54:1 54:0 42:0 39:1 39:0 42:1 54:1 54:0 42:0
bindsym $mod+Alt+u exec ydotool key 42:1 54:1 54:0 42:0 26:1 26:0 42:1 54:1 54:0 42:0
bindsym $mod+Alt+s exec ydotool key 42:1 54:1 54:0 42:0 12:1 12:0 42:1 54:1 54:0 42:0
### Idle configuration
exec swayidle -w \
timeout 300 'swaylock -f -c 000000' \
timeout 420 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
timeout 600 'systemctl suspend' \
before-sleep 'swaylock -f -c 000000'
### Input configuration
input type:touchpad {
tap enabled
natural_scroll enabled
scroll_factor 0.5
accel_profile adaptive
pointer_accel 0.1
}
input type:keyboard {
xkb_layout us,de
xkb_options caps:escape,grp:shifts_toggle
}
### Key bindings
bindsym XF86MonBrightnessDown exec light -U 5
bindsym XF86MonBrightnessUp exec light -A 5
bindsym $mod+Shift+s exec grim -g "$(slurp)"
floating_modifier $mod normal
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+Space exec $menu
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
for_window [app_id="simmer505.waywrite"] floating enable
for_window [app_id="org.speedcrunch.speedcrunch"] floating enable
# Horizontal and vertical splits
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+p floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+p focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
### Scratchpad:
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
### Resizing containers:
mode "resize" {
bindsym $left resize shrink width 20px
bindsym $down resize grow height 20px
bindsym $up resize shrink height 20px
bindsym $right resize grow width 20px
bindsym Left resize shrink width 20px
bindsym Down resize grow height 20px
bindsym Up resize shrink height 20px
bindsym Right resize grow width 20px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
### Style
set $bg-color #58536D
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
# window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color #4B5177
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.urgent $urgent-bg-color $urgent-bg-color $text-color #4B5177
default_border pixel 4
font pango:SourceCodePro Medium 1
### Status Bar:
bar {
swaybar_command waybar
}
include /etc/sway/config.d/*
+80
View File
@@ -0,0 +1,80 @@
{
"layer": "top", // Waybar at top layer
"output": "eDP-1",
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "battery", "clock"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": false,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%I:%M %p}",
"format-alt": "{:%Y-%m-%d}"
},
"battery": {
"format": "{capacity}% "
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
},
}
-17
View File
@@ -1,17 +0,0 @@
{ lib, pkgs, localPackages, ... }: {
environment.systemPackages = with pkgs; [
pulseaudio
pavucontrol
feishin
easyeffects
helvum
];
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}
-26
View File
@@ -1,26 +0,0 @@
{ lib, pkgs, localPackages, ... }: {
imports = [];
environment.systemPackages = with pkgs; [
curl
wget
git
killall
vim
eza
ripgrep
fzf
ncdu
btop
nil
];
programs.neovim = {
enable = true;
defaultEditor = true;
};
programs.fish.enable = true;
}
-11
View File
@@ -1,11 +0,0 @@
{ lib, pkgs, localPackages, ... }: {
environment.systemPackages = with pkgs; [
protonup-qt
vesktop
];
programs.steam = {
enable = true;
gamescopeSession.enable = true;
};
}
-25
View File
@@ -1,25 +0,0 @@
{ lib, pkgs, localPackages, ... }: {
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; [
wl-clipboard
grim
slurp
swaybg
waybar
alacritty
kickoff
kickoff-dot-desktop
wayland-pipewire-idle-inhibit
firefox
mpv
];
programs.sway.enable = true;
programs.thunar.enable = true;
xdg.portal.wlr.enable = true;
fonts.packages = with pkgs; [
font-awesome
];
}
-5
View File
@@ -1,5 +0,0 @@
{ lib, pkgs, localPackages, ... }:
{
programs.light.enable = true;
}
-8
View File
@@ -1,8 +0,0 @@
{ lib, pkgs, localPackages, ... }: {
environment.systemPackages = with pkgs; [
ldns
wireguard-tools
];
}
+8 -38
View File
@@ -11,58 +11,28 @@
inherit (self) outputs;
in {
nixosConfigurations = {
ankaa = nixpkgs.lib.nixosSystem {
alpheratz = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit (outputs) localPackages;
openssh-port = 2222;
};
specialArgs = {inherit inputs outputs;};
modules = [
./hosts/ankaa/configuration.nix
./hosts/ankaa/hardware-configuration.nix
./features/audio.nix
./features/common.nix
./features/gui.nix
./features/networking.nix
./features/gaming.nix
./modules/backups/home-ankaa.nix
./modules/openssh.nix
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.eesim = import ./hosts/ankaa/home.nix;
}
];
};
alpheratz = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit (outputs) localPackages;
};
modules = [
./hosts/alpheratz/configuration.nix
./hosts/alpheratz/hardware-configuration.nix
./features/common.nix
./features/gui.nix
./features/audio.nix
./features/networking.nix
./features/laptop.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.eesim = import ./hosts/alpheratz/home.nix;
home-manager.users.eesim = import ./home.nix;
}
];
};
};
localPackages = nixpkgs.lib.genAttrs [ "x86_64-linux" ] (system:
packages = nixpkgs.lib.genAttrs [ "x86_64-linux" ] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
pkgs = import nixpkgs { inherit system; config.allowUnfree = true; };
in
{
pkgs = pkgs // removeAttrs self.packages.${system} [ "pkgs" ];
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix { };
}
);
@@ -8,33 +8,27 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "wl" ];
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
fsType = "btrfs";
options = [ "subvol=root" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
fsType = "btrfs";
options = [ "subvol=home" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/4129-EEE9";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
swapDevices = [ ];
@@ -44,9 +38,8 @@
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp34s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp38s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-13
View File
@@ -16,24 +16,11 @@
home.file.".config/nvim".source = ./dotfiles/nvim;
home.file.".config/waybar".source = ./dotfiles/waybar;
home.file.".config/fish/config.fish".source = ./dotfiles/fish/config.fish;
home.file.".config/alacritty/alacritty.toml".source = ./dotfiles/alacritty/alacritty.toml;
# Fix for slow steam download speeds https://old.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/
home.file.".steam/steam/steam_dev.cfg".source = ./dotfiles/steam/steam_dev.cfg;
programs.git = {
enable = true;
userName = "Ethan Simmons";
userEmail = "eesimmons9105@gmail.com";
extraConfig = {
core.sshCommand = "'ssh -i /home/eesim/.ssh/id_ed25519'";
};
};
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
programs.home-manager.enable = true;
-65
View File
@@ -1,65 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
lib,
config,
pkgs,
localPackages,
...
}: {
nixpkgs = {
overlays = [];
config = {
allowUnfree = true;
};
};
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
fileSystems = {
"/".options = [ "compress=zstd" ];
"/home".options = [ "compress=zstd" ];
"/nix".options = [ "compress=zstd" "noatime" ];
};
networking.hostName = "ankaa";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.0.100" ];
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
programs.ssh.startAgent = true;
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audo" "networkmanager" ];
packages = with pkgs; [];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINfY1b8+mp6Y6k5taexTdBPTeZUcxT6RyP0jvc/74GyY eesim@Ethans-NAS"
];
};
# Enable CUPS to print documents.
# services.printing.enable = true;
system.stateVersion = "23.11";
}
@@ -1,13 +0,0 @@
[font]
size = 12
[font.italic]
family = "Codelia Nerd Font"
style = "Italic"
[font.normal]
family = "Codelia Nerd Font"
style = "Regular"
#[shell]
#program = "/usr/bin/fish"
-45
View File
@@ -1,45 +0,0 @@
if status is-interactive
fish_add_path "/home/eesim/.cargo/bin/"
set fish_greeting
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_external line
set fish_cursor_visual block
function fish_mode_prompt
end
### Local environment variables
set -x DENO_INSTALL "/home/eesim/.deno"
direnv hook fish | source
end
if status is-login
# SSH settings
eval (ssh-agent -c)
ssh-add /home/eesim/.ssh/id_ed25519
# Set environment variables in /etc/profile.d/
# exec bash -c "test -e /etc/profile && source /etc/profile"
# Disable GTK portal
set -x GTK_USE_PORTAL "0"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING "1"
end
if test (tty) = "/dev/tty1"
sway
end
-77
View File
@@ -1,77 +0,0 @@
configuration {
display-drun: "Applications:";
display-window: "Windows:";
drun-display-format: "{name}";
font: "JetBrainsMono Nerd Font Medium 10";
modi: "run,drun";
}
@theme "/dev/null"
* {
bg: #2f343f;
bg-alt: #444b6a;
fg: #f3f4f5;
fg-alt: #787c99;
background-color: @bg;
border: 0;
margin: 0;
padding: 0;
spacing: 0;
}
window {
width: 30%;
}
element {
padding: 8 0;
text-color: @fg-alt;
}
element selected {
text-color: @fg;
}
element-text {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
}
element-icon {
size: 30;
}
entry {
background-color: @bg-alt;
padding: 12;
text-color: @fg;
}
inputbar {
children: [prompt, entry];
}
listview {
padding: 8 12;
background-color: @bg;
columns: 1;
lines: 8;
}
mainbox {
background-color: @bg;
children: [inputbar, listview];
}
prompt {
background-color: @bg-alt;
enabled: true;
padding: 12 0 0 12;
text-color: @fg;
}
-1
View File
@@ -1 +0,0 @@
@nClientDownloadEnableHTTP2PlatformLinux 0
-292
View File
@@ -1,292 +0,0 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
default_border pixel 5
default_floating_border pixel 5
# Use pactl to adjust volume in PulseAudio.
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
# bindsym XF86AudioPlay exec python3 /home/eesim/Scripts/MuteMusic.py
bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec alacritty
bindsym $mod+Control+f exec MOZ_ENABLE_WAYLAND=1 firefox
bindsym $mod+Control+s exec steam
bindsym $mod+Control+t exec thunar
bindsym $mod+Control+d exec vesktop --enable-features=WebRTCPipeWireCapturer
bindsym $mod+Control+x exec strawberry
bindsym $mod+Control+q exec qbittorrent
bindsym $mod+Control+h exec helvum
bindsym $mod+Control+p exec pavucontrol
bindsym $mod+space exec kickoff-dot-desktop | kickoff --from-stdin --stdout | xargs -d '\n' swaymsg exec
# kill focused window
bindsym $mod+Shift+q kill
# take screenshot
bindsym $mod+Shift+s exec flameshot gui
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+b split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
#bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
set $MonitorA "DP-2"
set $MonitorB "HDMI-A-1"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
workspace $ws1 output $MonitorA
workspace $ws2 output $MonitorA
workspace $ws3 output $MonitorA
workspace $ws4 output $MonitorB
workspace $ws5 output $MonitorB
workspace $ws6 output $MonitorB
workspace $ws7 output $MonitorB
workspace $ws8 output $MonitorB
workspace $ws9 output $MonitorB
workspace $ws10 output $MonitorB
set $opacity 0.9
for_window [app_id="de.shorsh.discord-screenaudio"] opacity $opacity
for_window [class="discord"] opacity $opacity
for_window [class="vesktop"] opacity &opacity
for_window [app_id="Alacritty"] opacity $opacity
for_window [class="gamescope"] fullscreen
for_window [app_id="gamescope"] fullscreen
for_window [app_id="mpv"] fullscreen
for_window [app_id="relm4.test.simple"] floating enable
# Workspace 1
# Workspace 2
assign [app_id="mpv"] $ws2
# Workspace 3
assign [class="steam"] $ws3
assign [class="gamescope"] $ws3
assign [app_id="gamescope"] $ws3
# Workspace 4
assign [app_id="firefox"] $ws4
# Workspace 5
assign [app_id="de.shorsh.discord-screenaudio"] $ws5
assign [class="discord"] $ws5
# Workspace 6
assign [app_id="com.obsproject.Studio"] $ws6
# Workspace 7
assign [app_id="org.strawberrymusicplayer.strawberry"] $ws7
# Workspace 8
assign [app_id="com.github.wwmm.easyeffects"] $ws8
assign [app_id="org.pipewire.Helvum"] $ws8
assign [app_id="pavucontrol"] $ws8
# Workspace 9
# Workspace 10
assign [app_id="python3"] $ws10
assign [class="steam_proton"] $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 20 px
bindsym j resize grow height 20 px
bindsym k resize shrink height 20 px
bindsym l resize grow width 20 px
# same bindings, but for the arrow keys
bindsym Left resize shrink width 20 px
bindsym Down resize grow height 20 px
bindsym Up resize shrink height 20 px
bindsym Right resize grow width 20 px
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
set $bg-color #58536d
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
# window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color #4B5177
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.urgent $urgent-bg-color $urgent-bg-color $text-color #4B5177
default_border pixel 6
gaps inner 10
gaps outer -5
smart_gaps on
smart_gaps inverse_outer
bar {
swaybar_command waybar
}
input type:keyboard {
xkb_layout us,de
xkb_options caps:escape,grp:shifts_toggle
}
# Set Monitors
output DP-2 mode 3440x1440@144Hz pos 1920 0 scale 1
output HDMI-A-1 mode 1920x1080@75Hz pos 0 0
exec swaybg -o DP-2 -i /home/eesim/Pictures/wallpapers/wallpaper_scaled_distorted_lanczos_sharp.png
exec swaybg -o HDMI-A-1 -i /home/eesim/Pictures/wallpapers/169Wallpaper.png
exec systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
exec --no-startup-id openrgb --startminimized
exec --no-startup-id ydotoold
exec --no-startup-id easyeffects --gapplication-service
exec --no-startup-id wayland-pipewire-idle-inhibit
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id protonmail-bridge
exec --no-startup-id swayidle -w \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"'
exec vorta
exec MOZ_ENABLE_WAYLAND=1 firefox
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer
-20
View File
@@ -1,20 +0,0 @@
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
unbind-key '"'
unbind-key %
bind-key | split-window -h -c "#{pane_current_path}"
bind-key - split-window -v -c "#{pane_current_path}"
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key -r H resize-pane -L 5
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r L resize-pane -R 5
-158
View File
@@ -1,158 +0,0 @@
[{
"layer": "top", // Waybar at top layer
"output": "DP-2",
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "clock"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": false,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%I:%M %p}",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
},
}, {
"layer": "bottom", // Waybar at top layer
"output": "HDMI-A-1",
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "clock", "tray"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": false,
"format": "{name}: {icon}",
"format-icons": {
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%I:%M %p}",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
},
}]
-23
View File
@@ -1,23 +0,0 @@
{ pkgs, lib, ... }: {
services.borgbackup.jobs = {
home-ankaa =
let
user = "eesim";
home = "/home/${user}";
excludes = [ ".local/share/Steam/steamapps/common" ".cache" ];
in
{
inherit user;
paths = [ home ];
exclude = builtins.map (e: "${home}/${e}") excludes;
repo = "rf030789@rf030789.repo.borgbase.com:repo";
encryption = {
mode = "repokey-blake2";
passCommand = "cat ${home}/.ssh/borgbase_passphrase";
};
environment.BORG_RSH = "ssh -i ${home}/.ssh/id_ed25519_borgbase";
compression = "auto,lzma";
startAt = "daily";
};
};
}
-16
View File
@@ -1,16 +0,0 @@
{ lib
, pkgs
, openssh-port ? 22
, ...
}:
{
services.openssh = {
enable = true;
ports = [ openssh-port ];
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
};
};
}