diff --git a/configuration.nix b/configuration.nix

index a240eef5e8937499bbded4f9fd85287ec8f3e1a2..2156fd286e27efa1cee72e1859eed32bf1f37ac5 100644

--- a/configuration.nix

+++ b/configuration.nix

@@ -2,75 +2,69 @@ # Edit this configuration file to define what should be installed on

your system. Help is available in the configuration.nix(5) man page

and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, user, ... }:

-{

+let

+in {

List services that you want to enable:

services = {

resolved = {

 enable = true;

};

cloudflare-dyndns = {

 domains = [ "nix.ait.place" ];

 ipv4 = true;

 ipv6 = true;

};

xserver = {

 enable = true;

 videoDrivers = [ "nvidia" ];

 desktopManager.xterm.enable = false;

 };

 };

};

journald.extraConfig = ''SystemMaxUse=300MB'';

getty.autologinUser = "${user}";

pipewire = {

 enable = true;

 alsa.enable = true;

@@ -78,6 +72,8 @@ alsa.support32Bit = true;

 pulse.enable = true;

 jack.enable = true;

};

fstrim.enable = true;

@@ -98,111 +94,50 @@ };

transmission = {

 enable = true;

 settings = {

   download-dir = "/home/${user}/Downloads/torrents";

   incomplete-dir-enabled = false;

 };

};

Enable the OpenSSH daemon.

openssh = {

 enable = true;

 settings = {

   PasswordAuthentication = false;

   KbdInteractiveAuthentication = false;

   PermitRootLogin = "no";

nginx = {

 enable = false;

 recommendedGzipSettings = true;

 recommendedOptimisation = true;

 recommendedProxySettings = true;

 recommendedTlsSettings = true;

-};

-## Enabled to fix nvidia docker: https://github.com/YodaEmbedding/nixos/commit/a2b35962e82eba6c0e1492a81bc98d3e6f7184be

-#systemd.enableUnifiedCgroupHierarchy = false;

-systemd = {

};

'';

-};

-xdg = {

};

virtualisation = {

@@ -217,21 +152,64 @@ #waydroid.enable = true;

#oci-containers.backend = "podman";

+};

+systemd = {

+};

+xdg = {

#};

};

@@ -271,27 +249,16 @@ "FFFFFF" #bold-white

];

};

-# Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229

-#systemd.services."getty@tty1".enable = false;

-#systemd.services."autovt@tty1".enable = false;

-fonts.fonts = with pkgs; [

+fonts.packages = with pkgs; [

fira

rounded-mgenplus

noto-fonts-emoji

];

sound.enable = true;

security = {

doas = {

 enable = true;

@@ -315,13 +282,15 @@ };

qt = {

enable = true;

platformTheme = "qt5ct";

};

Bootloader.

boot = {

loader = {

 systemd-boot = {

   enable = true;

@@ -333,54 +302,50 @@ canTouchEfiVariables = true;

   efiSysMountPoint = "/boot/efi";

 };

};

bootspec.enable = true;

};

#systemd.network.enable = true;

networking = {

hostName = "nixos"; # Define your hostname.

search = [ "tailf09e4.ts.net" ];

Open ports in the firewall.

firewall = {

allowedTCPPorts = [];

allowedUDPPorts = [];

};

};

Enable nvidia blob drivers

hardware = {

nvidia = {

 nvidiaSettings = false;

};

opengl = {

 enable = true;

 driSupport32Bit = true;

};

};

nix = {

@@ -394,7 +359,10 @@ experimental-features = nix-command flakes

 min-free = ${toString (100 * 1024 * 1024)}

 max-free = ${toString (1024 * 1024 * 1024)}

'';

gc = {

 automatic = true;

 dates = "weekly";

diff --git a/environment.nix b/environment.nix

deleted file mode 100644

index 70d87056fbf8e726334fd7a2df2a23e7c45fc2c3..0000000000000000000000000000000000000000

--- a/environment.nix

+++ /dev/null

@@ -1,158 +0,0 @@

-{ pkgs, ... }:

-let

-in {

-environment = {

-systemPackages = with pkgs; [

-];

-shellAliases = {

-};

-sessionVariables = {

-};

-}

diff --git a/environment/default.nix b/environment/default.nix

new file mode 100644

index 0000000000000000000000000000000000000000..f749991feaf0bec3f5daf3a475f243799a105504

--- /dev/null

+++ b/environment/default.nix

@@ -0,0 +1,235 @@

+{ pkgs, ... }:

+let

+in {

+environment = rec {

+}

+))) sxhkd

+;

+shellAliases = {

+};

+sessionVariables = rec {

+};

+}

diff --git a/extra/dwm-toggleborder-6.3.diff b/extra/dwm-toggleborder-6.3.diff

new file mode 100644

index 0000000000000000000000000000000000000000..24172a282a35d8da53be6940a86496f95926f39c

--- /dev/null

+++ b/extra/dwm-toggleborder-6.3.diff

@@ -0,0 +1,53 @@

+From ef85b0473590615fda4ba4b20a717e42c99e3f99 Mon Sep 17 00:00:00 2001

+From: Stanisław Bitner sbitner420@tutanota.com

+Date: Tue, 9 Aug 2022 23:17:47 +0200

+Subject: [PATCH] toggleborder

+This patch allows you to toggle client border. It works by setting the

+border of the client to 0 or to borderpx defined in configuration file.

+---

+diff --git a/config.def.h b/config.def.h

+index a2ac963..60b811f 100644

+--- a/config.def.h

++++ b/config.def.h

+@@ -65,6 +65,7 @@ static Key keys[] = {

++ { MODKEY|ShiftMask, XK_b, toggleborder, {0} },

+diff --git a/dwm.c b/dwm.c

+index 967c9e8..91d00f6 100644

+--- a/dwm.c

++++ b/dwm.c

+@@ -211,6 +211,7 @@ static void tag(const Arg *arg);

++static void toggleborder(const Arg *arg);

+@@ -1707,6 +1708,13 @@ togglebar(const Arg *arg)

++void

++toggleborder(const Arg *arg)

++{

++ selmon->sel->bw = (selmon->sel->bw == borderpx ? 0 : borderpx);

++ arrange(selmon);

++}

++

+--

+2.37.1

diff --git a/extra/dwm-warp-6.4.diff b/extra/dwm-warp-6.4.diff

new file mode 100644

index 0000000000000000000000000000000000000000..02fcdba1aa27250559135684eb4da530baa0b0e6

--- /dev/null

+++ b/extra/dwm-warp-6.4.diff

@@ -0,0 +1,79 @@

+From a229c36f51ad6f8b40109ed53c643f242351962a Mon Sep 17 00:00:00 2001

+From: Jonas Dujava jonas.dujava@gmail.com

+Date: Fri, 26 May 2023 22:14:48 +0200

+Subject: [PATCH] Warp patch

+Warps the mouse cursor to the center of the currently focused

+window or screen when the mouse cursor is

+This version properly handles warping to windows that have not been

+mapped yet (before it resulted in a change of the stack order).

+See the discussion in (thanks goes to Bakkeby):

+---

+diff --git a/dwm.c b/dwm.c

+index e5efb6a..7ea6c14 100644

+--- a/dwm.c

++++ b/dwm.c

+@@ -228,6 +228,7 @@ static void updatetitle(Client *c);

++static void warp(const Client *c);

+@@ -834,6 +835,7 @@ focusmon(const Arg *arg)

++ warp(selmon->sel);

+@@ -1366,6 +1368,8 @@ restack(Monitor *m)

++ if (m == selmon && (m->tagset[m->seltags] & m->sel->tags) && m->lt[m->sellt]->arrange != &monocle)

++ warp(m->sel);

+@@ -2044,6 +2048,28 @@ view(const Arg *arg)

++void

++warp(const Client *c)

++{

++ int x, y;

++

++ if (!c) {

++ XWarpPointer(dpy, None, root, 0, 0, 0, 0, selmon->wx + selmon->ww / 2, selmon->wy + selmon->wh / 2);

++ return;

++ }

++

++ if (!getrootptr(&x, &y) ||

++ (x > c->x - c->bw &&

++ y > c->y - c->bw &&

++ x < c->x + c->w + c->bw*2 &&

++ y < c->y + c->h + c->bw*2) ||

++ (y > c->mon->by && y < c->mon->by + bh) ||

++ (c->mon->topbar && !y))

++ return;

++

++ XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);

++}

++

+--

+2.40.1

diff --git a/extra/dwm.diff b/extra/dwm.diff

index 766014097f9ef5a1cdda91fff85e74903c843ada..21c655eca0215ac3571aff73f9c93f0aa082e42e 100644

--- a/extra/dwm.diff

+++ b/extra/dwm.diff

@@ -3,7 +3,7 @@ new file mode 100644

index 0000000..eea458a

--- /dev/null

+++ b/config.h

-@@ -0,0 +1,171 @@

+@@ -0,0 +1,172 @@

+/* See LICENSE file for copyright and license details. */

+/* appearance */

@@ -33,26 +33,26 @@ + /* xprop(1):

-+ /* class instance title tags mask isfloating monitor */

-+ { "qutebrowser",NULL, NULL, 1 << 8, 0, -1 },

-+ { "obs", NULL, NULL, 1 << 4, 0, -1 },

-+ { "discord", NULL,"Discord Updater", 1 << 6, 0, -1 },

-+ { "discord", NULL, NULL, 1 << 6, 0, -1 },

-+ { "Steam", NULL, NULL, 1 << 7, 0, -1 },

-+ { "Steam", NULL,"Friends List", 0, 1, -1 },

-+ { "Mumble", NULL, NULL, 1 << 5, 0, -1 },

-+ { "QjackCtl", NULL, "JACK Audio Connection Kit [(default)] Active.", 0, 1, -1 },

-+ { NULL,"chatterino", NULL, 0, 1, -1 },

-+ { NULL, "newsboat", NULL, 1 << 4, 0, -1 },

-+ { NULL,"pulsemixer", NULL, 0, 1, -1 },

-+ { NULL, "ncmpc", NULL, 0, 1, -1 },

++ /* class instance title tags mask isfloating monitor */

++ { "qutebrowser",NULL, NULL, 1 << 8, 0, -1 },

++ { "librewolf", NULL, NULL, 1 << 7, 0, -1 },

++ { "mpv", NULL, NULL, 1 << 2, 0, -1 },

++ { "obs", NULL, NULL, 1 << 4, 0, -1 },

++ { "WebCord", NULL, NULL, 1 << 6, 0, -1 },

++ { "steam", NULL, NULL, 1 << 7, 0, -1 },

++ { "steam", NULL,"Friends List", 0, 1, -1 },

++ { "Mumble", NULL, NULL, 1 << 5, 0, -1 },

++ { "newsboat", NULL, NULL, 1 << 4, 0, -1 },

++ { "chatterino", NULL, NULL, 0, 1, -1 },

++ { "pulsemixer", NULL, NULL, 0, 1, -1 },

++ { "ncmpc", NULL, NULL, 0, 1, -1 },

+};

+/* layout(s) */

+static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */

+static const int nmaster = 1; /* number of clients in master area */

+static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */

-+static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */

++static const int lockfullscreen = 0; /* 1 will force focus on the fullscreen window */

+static const Layout layouts[] = {

@@ -65,23 +65,23 @@ +

+#include <X11/XF86keysym.h>

+/* key definitions */

+#define MODKEY Mod4Mask

-+#define Hyper Mod1Mask

++#define Hyper Mod3Mask

+#define TAGKEYS(KEY,TAG) \

-+ { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },

++ { MODKEY|Hyper, KEY, toggletag, {.ui = 1 << TAG} },

+/* helper for spawning shell commands in the pre dwm-5.0 fashion */

+#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }

+/* commands */

-+static const char *dmenucmd[] = { "dmenu_run", NULL };

++static const char *dmenucmd[] = { "bemenu-run", "-W", "0.3", NULL };

+static const char *termcmd[] = { "alacritty", NULL };

++static const char *browsercmd[] = { "jumpapp", "-C", "qutebrowser", NULL };

+static const char *quitcmd[] = { "pkill", "sx", NULL };

+static const char *passcmd[] = { "passmenu", NULL };

+static const char *passtypecmd[] = { "passmenu", "--type", NULL };

-+static const char *handlercmd[] = { "dhandler", NULL };

+static const char *togglecmd[] = { "mpc", "toggle", NULL };

+static const char *nextcmd[] = { "mpc", "next", NULL };

+static const char *prevcmd[] = { "mpc", "prev", NULL };

@@ -90,11 +90,13 @@ +static const char *volupcmd[] = { "pulsemixer", "--change-volume", "+2", NULL };

+static const char *voldowncmd[] = { "pulsemixer", "--change-volume", "-2", NULL };

+static const char *mondowncmd[] = { "monbrightness", "-65", NULL };

+static const char *monupcmd[] = { "monbrightness", "+65", NULL };

++static const char *rsscmd[] = { "jumpapp", "newsboat", NULL };

+static Key keys[] = {

++ { MODKEY, XK_w, spawn, {.v = browsercmd } },

@@ -130,12 +132,11 @@ + { MODKEY, XK_p, spawn, {.v = passcmd } },

-+ { MODKEY, XK_s, spawn,SHCMD("pkill -x ncmpc || $TERMINAL -n ncmpc -e ncmpc") },

-+ { MODKEY, XK_y, spawn,SHCMD("pkill -x picom || picom --experimental-backends") },

-+ { MODKEY, XK_a, spawn, {.v = handlercmd } },

-+ { MODKEY, XK_v, spawn,SHCMD("pkill -x pulsemixer || $TERMINAL -n pulsemixer -e pulsemixer") },

-+ { MODKEY, XK_n, spawn,SHCMD("wmctrl -a newsboat || $TERMINAL -n newsboat -e newsboat") },

-+ { MODKEY, XK_m, spawn,SHCMD("wmctrl -a mutt || $TERMINAL -n mutt -e mutt") },

++ { 0,XF86XK_Calculator, spawn,SHCMD("$TERMINAL -e clac") },

++ { MODKEY, XK_s, spawn,SHCMD("pkill -x ncmpc || $TERMINAL --class ncmpc -e ncmpc") },

++ { MODKEY, XK_a, spawn,SHCMD("xclip -o -sel c | dhandler") },

++ { MODKEY, XK_v, spawn,SHCMD("pkill -x pulsemixer || $TERMINAL --class pulsemixer -e pulsemixer") },

++ { MODKEY, XK_n, spawn, {.v = rsscmd } },

diff --git a/extra/twitch b/extra/twitch

index 4f32d42756528d3512dc376412d2671caa3f92dc..c477c261385bc035092384330294f418a7fd97a5 100755

--- a/extra/twitch

+++ b/extra/twitch

@@ -43,7 +43,7 @@ esac

done

Check if there is a standard input and use it.

-#[ ! -t 0 ] && [ -s /dev/stdin ] && TWITCH_NAMES=/dev/stdin && send=true

+[ ! -t 0 ] && [ -s /dev/stdin ] && TWITCH_NAMES=/dev/stdin && send=true

Get streamers that are live

[ $send = true ] && twitch.py $arg > "$TWITCH_LIVE"

@@ -53,12 +53,12 @@ command -v streamlink >/dev/null && \

TWITCH_PLAYER="streamlink --default-stream=best --verbose-player" || \

TWITCH_PLAYER=mpv

-# Have a fallback if dmenu is not installed

-[ -z $TWITCH_MENUER ] && command -v dmenu >/dev/null && \

+# Have a fallback if bemenu is not installed

+[ -z "$TWITCH_MENUER" ] && command -v bemenu >/dev/null && \

Use fzf if in a ssh session

-[ -n "$SSH_TTY" ] && command -v fzf >/dev/null && MENUER="fzf"

+[ -n "$SSH_TTY" ] && command -v fzf >/dev/null && TWITCH_MENUER="fzf"

#Checks if program is piped into a shell and print output to program

if [ -p /dev/stdout ]; then cat "$TWITCH_LIVE"; else

diff --git a/flake.lock b/flake.lock

index 55ea4bb3c0c54f6c3c06937c93c54d8bcf882747..67184eabc05fed1836e0c3d5b02c9c338807caac 100644

--- a/flake.lock

+++ b/flake.lock

@@ -7,39 +7,54 @@ "nixpkgs"

     ]

   },

   "locked": {

     "owner": "nix-community",

     "repo": "home-manager",

     "type": "github"

   },

   "original": {

     "owner": "nix-community",

     "repo": "home-manager",

     "type": "github"

   }

 },

 "nixpkgs": {

   "locked": {

     "owner": "NixOS",

     "repo": "nixpkgs",

     "type": "github"

   },

   "original": {

     "id": "nixpkgs",

     "type": "indirect"

   }

 },

 "root": {

   "inputs": {

     "home-manager": "home-manager",

   }

 }

},

diff --git a/flake.nix b/flake.nix

index 8a9581bf5a66b48a3ae1701e2e9ec80d21e3a4c6..64061a06cdc26ad5633b5969b6d6ceb73b1f92c8 100644

--- a/flake.nix

+++ b/flake.nix

@@ -2,28 +2,36 @@ {

description = "My complete nixos setup";

inputs = {

 home-manager = {

   inputs.nixpkgs.follows = "nixpkgs";

 };

 #nur.url = "github:nix-community/NUR";

};

let

 system = "x86_64-linux";

 user = "ait";

 lib = nixpkgs.lib;

 pkgs = import nixpkgs {

   inherit system;

   config = {

    allowUnfreePredicate = pkg: builtins.elem (lib.strings.getName pkg) [

     "nvidia-x11"

     "steam"

     "steam-run"

     "steam-original"

   ];

 };

@@ -36,10 +44,11 @@ inherit user;

     };

     inherit system pkgs;

     modules = [

       ./configuration.nix

       ./programs.nix

       ./hardware-configuration.nix

       home-manager.nixosModules.home-manager {

         home-manager.useGlobalPkgs = true;

diff --git a/hardware-configuration.nix b/hardware-configuration.nix

index 587bf884185250e0e8d6e70a3951643044d1f476..b24ef47cd7ead0f0176540bca244f7bd5f3e8ad2 100644

--- a/hardware-configuration.nix

+++ b/hardware-configuration.nix

@@ -27,14 +27,14 @@ neededForBoot = true;

 options = [ "noatime" ];

};

fileSystems."/home" = {

 device = "/dev/disk/by-uuid/81e3081a-0c68-47f7-bac0-2b5530216344";

 fsType = "ext4";

};

fileSystems."/media/hdd" = {

diff --git a/home.nix b/home.nix

old mode 100644

new mode 100755

index da0f9b7fec430ea0459a9924ffbea1d8ddf93dc1..80317243fbdef3cdded937f4dbde4ee036313d09

--- a/home.nix

+++ b/home.nix

@@ -1,51 +1,65 @@

{ pkgs, ... }:

-{

+let

+in {

programs.home-manager.enable = true;

programs = {

helix = {

 enable = true;

 settings = {

   editor = {

     line-number = "relative";

     bufferline = "multiple";

     color-modes = true;

     cursor-shape.insert = "bar";

     auto-save = true;

   };

 };

};

neovim = {

#extraConfig = (builtins.readFile ./extra/neovim.vim);

extraPackages = with pkgs; [

];

extraLuaConfig = ''

vim.g.mapleader = " "

vim.opt.nu = true

vim.opt.relativenumber = true

-vim.opt.showmode = false

vim.opt.tabstop = 2

vim.opt.softtabstop = 2

vim.opt.shiftwidth = 2

vim.opt.expandtab = true

vim.opt.smartindent = true

-vim.opt.swapfile = false

-vim.opt.backup = false

vim.opt.undodir = os.getenv("XDG_STATE_HOME") .. "/nvim/undodir"

vim.opt.undofile = true

@@ -57,12 +71,19 @@

vim.opt.scrolloff = 999

vim.opt.isfname:append("@-@")

-vim.opt.updatetime = 50

+vim.opt.foldlevel = 4

+vim.opt.foldmethod = "expr"

+vim.opt.foldexpr = "nvim_treesitter#foldexpr()"

vim.opt.colorcolumn = "100"

-- Visual group move text up/down

vim.keymap.set("v", "J", ":m '>+1gv=gv")

vim.keymap.set("v", "K", ":m '<-2gv=gv")

+-- Set up keybindings to switch to a specific tab in normal and insert mode

+for i = 1, 9 do

-- greatest remap ever

vim.keymap.set("x", "p", [["_dP]])

@@ -87,26 +108,19 @@

vim.keymap.set("n", "b", "ls:b")

vim.keymap.set("n", "pv", vim.cmd.Ex)

-vim.keymap.set("n", "u", vim.cmd.UndotreeToggle)

vim.keymap.set("n", "g", vim.cmd.Git)

'';

plugins = with pkgs.vimPlugins; [

	nvim-treesitter.withAllGrammars

	vim-fugitive

{ plugin = nvim-lspconfig; type = "lua"; config = ''

local lspconfig = require('lspconfig')

local lsp_defaults = lspconfig.util.default_config

-lsp_defaults.capabilities = vim.tbl_deep_extend(

-)

+vim.api.nvim_create_autocmd('TermOpen', {command = "setlocal nonumber norelativenumber"})

vim.api.nvim_create_autocmd('LspAttach', {

desc = 'LSP actions',

@@ -126,49 +140,28 @@ vim.keymap.set('n', '', 'lua vim.lsp.buf.code_action()', opts)

 vim.keymap.set('n', 'gl', '<cmd>lua vim.diagnostic.open_float()<cr>', opts)

 vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>', opts)

end

})

lspconfig.rust_analyzer.setup({})

-lspconfig.ccls.setup({})

-lspconfig.nil_ls.setup({})

-lspconfig.gopls.setup({})

+lspconfig.nil_ls.setup({})

+lspconfig.gopls.setup({})

'';

}

-{ plugin = rose-pine; type = "lua"; config = ''

-vim.cmd('colorscheme rose-pine')

-vim.api.nvim_set_hl(0, "Normal", { bg = "none" })

-vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })

-'';

-}

-{ plugin = lualine-nvim; type = "lua"; config = ''

-require('lualine').setup {

-}

-'';

-}

{ plugin = orgmode; type = "lua"; config = ''

require('orgmode').setup_ts_grammar()

require('orgmode').setup({

org_agenda_files = {'~/Documents/notes/*'},

org_default_notes_file = '~/Documents/notes/refile.org',

})

'';

}

{ plugin = telescope-nvim; type = "lua"; config = ''

local builtin = require('telescope.builtin')

vim.keymap.set("n", "f", builtin.find_files, {})

-vim.keymap.set('n', 'rg', function()

-end)

+vim.keymap.set('n', 'rg', builtin.live_grep, {})

'';

}

	];

@@ -177,50 +170,488 @@

emacs = {

 enable = false;

 extraPackages = epkgs: with epkgs; [

   };

alacritty = {

 enable = true;

 settings = {

   };

   #env.BEMENU_BACKEND = "curses";

   colors = {

@@ -262,7 +693,26 @@ default-stream=best

   twitch-disable-ads

   twitch-low-latency

 '';

 ".config/pulsemixer.cfg".text = ''

   [keys]

   mode1 = o, KEY_F1

   mode2 = i, KEY_F2

@@ -280,10 +730,13 @@ [ -f $xprofile ] && . "$xprofile" &

   export XDG_SESSION_TYPE=x11

   export GDK_BACKEND=x11

   xset r rate 250 50 &

   session=$WM

   case $session in

       kde        ) exec startplasma-x11;;

       spectrwm   ) exec spectrwm;;

       leftwm     ) exec dbus-launch leftwm;;

       dwm        ) while true; do ssh-agent dwm >/dev/null 2>&1; done;;

       xmonad     ) exec xmonad;;

@@ -296,85 +749,60 @@ qtile ) exec qtile;;

   esac

 '';

 };

'';

};

};

}

diff --git a/mpv.nix b/mpv.nix

new file mode 100644

index 0000000000000000000000000000000000000000..6b4ffcecbe19432a439b3a0b50ae57467bcdda73

--- /dev/null

+++ b/mpv.nix

@@ -0,0 +1,189 @@

+{ pkgs, ... }:

+let

+sockets="($(ls /tmp/mpvSockets/*))"

+getsockets() {

+}

+command() {

+}

+options=(

+)

+if [ -z "$*" ]; then

+else

+fi

+case "$option" in

+esac

+local HISTFILE = (os.getenv("XDG_CONFIG_HOME") or os.getenv("HOME").."/.config").."/mpv/history";

+mp.register_event("file-loaded", function()

+end)

+-- mpvSockets, one socket per instance, removes socket on exit

+local utils = require 'mp.utils'

+local function get_temp_path()

+end

+local tempDir = get_temp_path()

+local function join_paths(...)

+end

+local ppid = utils.getpid()

+os.execute("mkdir " .. join_paths(tempDir, "mpvSockets") .. " 2>/dev/null")

+mp.set_property("options/input-ipc-server", join_paths(tempDir, "mpvSockets", ppid))

+local function shutdown_handler()

+end

+mp.register_event("shutdown", shutdown_handler)

+function yankpath()

+end

+function yankstreampath()

+end

+mp.add_key_binding(nil, "yank-path", yankpath)

+mp.add_key_binding(nil, "yank-streampath", yankstreampath)

+in {

+environment.systemPackages = with pkgs; [

+}

diff --git a/programs.nix b/programs.nix

index eb52ceb0f53041cef1b267b2053f40f93e9581ee..d2dd5e6dc18eb146afbeac095ea126fe85b4e82b 100644

--- a/programs.nix

+++ b/programs.nix

@@ -1,4 +1,4 @@

-{ pkgs, user, lib, ...}:

+{ pkgs, user, ...}:

let

steam-home = pkgs.writeShellScriptBin "steam" ''HOME=$XDG_STATE_HOME/steam ; exec ${pkgs.steam}/bin/steam "$@" '';

twitch = pkgs.stdenv.mkDerivation { name = "twitch.py";

@@ -9,15 +9,10 @@ cp ${./extra/twitch} $out/bin/twitch;

   cp ${./extra/twitch.py} $out/bin/twitch.py;

   chmod +x $out/bin/twitch.py $out/bin/twitch'';

};

in {

users = {

@@ -29,51 +24,45 @@ isNormalUser = true;

 description = "${user}";

 shell = pkgs.zsh;

 uid = 1000;

 openssh.authorizedKeys.keys = [

   "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKyRpcQn+csN89v5vdkPyxWkYUl3pDCWeUNg6dl4sSS3 ait@pine"

   "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICQwBaEvNbtb4KIvvGy641aQtTUGjOuhgUyKmrJqxjmt ait@mobile-nixos"

   "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILrOMlbkgtfYMiGPRWfeCbTxkBTahKgDYZHNPBNziHzU nix-on-droid@localhost"

 ];

 packages = (with pkgs; [

   '')

   #Menu runners / dmenu symlinks (Bemenu supports both wl,x and nc)

   #x11 desktop utilities

   feh zathura xclip maim picom-next unclutter-xfixes

   #general programs

   steam-home #Uses $XDG_STATE_HOME instead of $HOME

 ]);

};

};

-nixpkgs.overlays = [ (self: super: {

-})];

programs = {

zsh = {

@@ -81,23 +70,57 @@ enable = true;

 histSize = 10000;

 histFile = ''$XDG_CACHE_HOME/zsh/history'';

 loginShellInit = ''

 '';

 shellInit = ''

 '';

 interactiveShellInit = ''

   export BEMENU_BACKEND=curses

   fancy-ctrl-z () {

       zle push-input -w; zle clear-screen -w;

   }

   zle -N fancy-ctrl-z

   bindkey '^Z' fancy-ctrl-z

 '';

 promptInit = ''

   autoload -U colors && colors		# Add colors

@@ -118,7 +141,7 @@ [[ $H > 0 ]] && printf '%dh ' $H

     [[ $M > 0 ]] && printf '%dm ' $M

     printf '%ds' $S

   }

   # Execution time start

   time_preexec_hook() {

     EXEC_TIME_start=$(date +%s)

@@ -139,13 +162,14 @@ }

   autoload -Uz add-zsh-hook

   add-zsh-hook preexec time_preexec_hook

   add-zsh-hook precmd time_precmd_hook

 '';

 autosuggestions = {

 	enable = true;

 	async = true;

   strategy = ["match_prev_cmd" "completion"];

 };

 enableBashCompletion = true;

};

@@ -165,25 +189,21 @@ highlight_base_name = 1;

 };

};

git = {

 enable = true;

@@ -192,8 +212,19 @@ };

browserpass.enable = true;

 enable = true;

 nativeMessagingHosts.browserpass = true;

 package = pkgs.librewolf;

 #package = (pkgs.firefox.overrideAttrs (_: {

@@ -217,6 +248,12 @@ baseIndex = 1;

 plugins = [];

 extraConfig = ''

   set -g status-style 'bg=#111111 fg=#FFFFFF'

 '';

};

@@ -226,7 +263,7 @@ dconf.enable = true; # Running GNOME programs outside of GNOME

gnupg.agent = {

 enable = true;

};

};

diff --git a/scripts/.default.nix.un~ b/scripts/.default.nix.un~

new file mode 100644

index 0000000000000000000000000000000000000000..6769ffe4556123a7ec0edc440ff9ca185eb29999

Binary files /dev/null and b/scripts/.default.nix.un~ differ

diff --git a/scripts/.uploadscreen.nix.un~ b/scripts/.uploadscreen.nix.un~

new file mode 100644

index 0000000000000000000000000000000000000000..5d0991336783fa1e5877b92605a2eea58c46c799

Binary files /dev/null and b/scripts/.uploadscreen.nix.un~ differ

diff --git a/scripts/default.nix b/scripts/default.nix

new file mode 100644

index 0000000000000000000000000000000000000000..a5c3ae9731b2c855d404d34af11f48f53dd0c23b

--- /dev/null

+++ b/scripts/default.nix

@@ -0,0 +1,2 @@

+{ pkgs, ... }:

+import [ uploadscreen.nix ];

diff --git a/scripts/uploadscreen.nix b/scripts/uploadscreen.nix

new file mode 100644

index 0000000000000000000000000000000000000000..2ed88b549880303435bca30266ec8b5ca7c8c8f8

--- /dev/null

+++ b/scripts/uploadscreen.nix

@@ -0,0 +1,10 @@

+{ pkgs, ... }:

+pkgs.writeShellApplication {

+}

diff --git a/vim.nix b/vim.nix

new file mode 100644

index 0000000000000000000000000000000000000000..8d99a3f9880719fb7f39c92f863fe211aac50d3b

--- /dev/null

+++ b/vim.nix

@@ -0,0 +1,159 @@

+{ pkgs, ... }:

+let lsp = pkgs.vimUtils.buildVimPlugin {

+in {

+environment.systemPackages = [

+}

Proxy Information
Original URL
gemini://ait.place/git/nixos/commits/f8fe76f0badd37a45d18379457cd4ed08dca6683.patch
Status Code
Success (20)
Meta
application/octet-stream;lang=en
Capsule Response Time
273.748689 milliseconds
Gemini-to-HTML Time
37.122652 milliseconds

This content has been proxied by September (3851b).