aboutsummaryrefslogtreecommitdiffstats
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home/nipsy/common/core/bash.nix10
-rw-r--r--home/nipsy/common/core/default.nix63
-rw-r--r--home/nipsy/common/core/fonts.nix9
-rw-r--r--home/nipsy/common/core/git.nix8
-rw-r--r--home/nipsy/common/core/ssh.nix5
-rw-r--r--home/nipsy/common/core/tmux/default.nix6
-rw-r--r--home/nipsy/common/core/tmux/tmux.conf34
-rw-r--r--home/nipsy/common/core/vim/default.nix6
-rw-r--r--home/nipsy/common/core/vim/vimrc46
-rw-r--r--home/nipsy/common/core/zsh/default.nix10
-rw-r--r--home/nipsy/common/core/zsh/zshrc (renamed from ginaz/home.nix)124
-rw-r--r--home/nipsy/common/optional/desktops/default.nix7
-rw-r--r--home/nipsy/common/optional/desktops/gtk.nix7
-rw-r--r--home/nipsy/common/optional/desktops/i3/config228
-rw-r--r--home/nipsy/common/optional/desktops/i3/default.nix10
-rw-r--r--home/nipsy/common/optional/desktops/services/dunst.nix11
-rw-r--r--home/nipsy/ginaz.nix7
17 files changed, 469 insertions, 122 deletions
diff --git a/home/nipsy/common/core/bash.nix b/home/nipsy/common/core/bash.nix
new file mode 100644
index 0000000..77f0cf4
--- /dev/null
+++ b/home/nipsy/common/core/bash.nix
@@ -0,0 +1,10 @@
+{
+ programs.bash = {
+ enable = true;
+ enableCompletion = true;
+ shellAliases = {
+ ll = "ls -alF --color=auto";
+ la = "ls -aF --color=auto";
+ };
+ };
+}
diff --git a/home/nipsy/common/core/default.nix b/home/nipsy/common/core/default.nix
new file mode 100644
index 0000000..6903d90
--- /dev/null
+++ b/home/nipsy/common/core/default.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, outputs, ... }:
+{
+ imports = [
+ ./bash.nix
+ ./fonts.nix
+ ./git.nix
+ ./ssh.nix
+ ./tmux
+ ./vim
+ ./zsh
+ ] ++ (builtins.attrValues outputs.homeManagerModules);
+
+ home = {
+ username = lib.mkDefault "nipsy";
+ homeDirectory = lib.mkDefault "/home/${config.home.username}";
+ stateVersion = lib.mkDefault "23.11";
+ };
+
+ home.packages = builtins.attrValues {
+ inherit (pkgs)
+
+ borgbackup
+ btop
+ coreutils
+ eza
+ fd
+ findutils
+ fzf
+ jq
+ nix-tree
+ ncdu
+ pciutils
+ pfetch
+ pre-commit
+ p7zip
+ ripgrep
+ usbutils
+ tree
+ unzip
+ unrar
+ wget
+ zip;
+ };
+
+ nixpkgs = {
+ overlays = builtins.attrValues outputs.overlays;
+ config = {
+ allowUnfree = true;
+ # Workaround for https://github.com/nix-community/home-manager/issues/2942
+ allowUnfreePredicate = (_: true);
+ };
+ };
+
+ nix = {
+ package = lib.mkDefault pkgs.nix;
+ settings = {
+ experimental-features = [ "nix-command" "flakes" "repl-flake" ];
+ warn-dirty = false;
+ };
+ };
+
+ programs.home-manager.enable = true;
+}
diff --git a/home/nipsy/common/core/fonts.nix b/home/nipsy/common/core/fonts.nix
new file mode 100644
index 0000000..9ed0753
--- /dev/null
+++ b/home/nipsy/common/core/fonts.nix
@@ -0,0 +1,9 @@
+{ pkgs, ... }:
+{
+ fonts.fontconfig.enable = true;
+ home.packages = [
+ pkgs.noto-fonts
+ pkgs.nerdfonts
+ ];
+
+}
diff --git a/home/nipsy/common/core/git.nix b/home/nipsy/common/core/git.nix
new file mode 100644
index 0000000..d8bc6cf
--- /dev/null
+++ b/home/nipsy/common/core/git.nix
@@ -0,0 +1,8 @@
+{
+ programs.git = {
+ enable = true;
+ userEmail = "nipsy@bitgnome.net";
+ userName = "Mark Nipper";
+ extraConfig.pull.rebase = true;
+ };
+}
diff --git a/home/nipsy/common/core/ssh.nix b/home/nipsy/common/core/ssh.nix
new file mode 100644
index 0000000..929cc51
--- /dev/null
+++ b/home/nipsy/common/core/ssh.nix
@@ -0,0 +1,5 @@
+{
+ programs.ssh = {
+ enable = true;
+ };
+}
diff --git a/home/nipsy/common/core/tmux/default.nix b/home/nipsy/common/core/tmux/default.nix
new file mode 100644
index 0000000..e7873f8
--- /dev/null
+++ b/home/nipsy/common/core/tmux/default.nix
@@ -0,0 +1,6 @@
+{
+ programs.tmux = {
+ enable = true;
+ extraConfig = (builtins.readFile ./tmux.conf);
+ };
+}
diff --git a/home/nipsy/common/core/tmux/tmux.conf b/home/nipsy/common/core/tmux/tmux.conf
new file mode 100644
index 0000000..ae43d03
--- /dev/null
+++ b/home/nipsy/common/core/tmux/tmux.conf
@@ -0,0 +1,34 @@
+#set-option -ga terminal-overrides ",st-256color:Tc"
+set -as terminal-features ",foot*:RGB"
+set -as terminal-features ",st-256color:RGB"
+set -ga monitor-bell on
+set -g history-limit 100000
+set -g bell-action any
+#set -g bell-on-alert on
+
+set -s escape-time 0
+
+setw -g aggressive-resize on
+setw -g wrap-search off
+
+bind-key a send-prefix
+bind-key k kill-session
+bind-key H pipe-pane -o 'cat >> ~/.tmux.log.#h-#S-#I-#P'
+
+#bind-key m \
+# set -g mouse on \;\
+# display 'Mouse: ON'
+#bind M \
+# set -g mouse off \;\
+# display 'Mouse: OFF'
+
+# vim-like copypaste mode
+set-window-option -g mode-keys vi
+bind-key -T copy-mode-vi v send -X begin-selection
+bind-key -T copy-mode-vi y send -X copy-pipe "xclip -selection clipboard"
+bind-key -T copy-mode-vi C-v send -X rectangle-toggle
+bind-key P run "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"
+
+# don't exit copy mode after selection
+#set -s mouse on
+#bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-selection -x
diff --git a/home/nipsy/common/core/vim/default.nix b/home/nipsy/common/core/vim/default.nix
new file mode 100644
index 0000000..ea4ed5e
--- /dev/null
+++ b/home/nipsy/common/core/vim/default.nix
@@ -0,0 +1,6 @@
+{
+ programs.vim = {
+ enable = true;
+ extraConfig = (builtins.readFile ./vimrc);
+ };
+}
diff --git a/home/nipsy/common/core/vim/vimrc b/home/nipsy/common/core/vim/vimrc
new file mode 100644
index 0000000..e80231c
--- /dev/null
+++ b/home/nipsy/common/core/vim/vimrc
@@ -0,0 +1,46 @@
+" Handling of big files - William Natter, Tony Mechelynck and others
+" fairly certain that BufSizeThreshold is in bytes
+let g:SaveUndoLevels = &undolevels
+let g:BufSizeThreshold = 5242880
+if has("autocmd")
+ au VimEnter * let g:SaveUndoLevels = &undolevels
+ au BufReadPre * if getfsize(expand("%")) >= g:BufSizeThreshold | setlocal noswapfile | endif
+ au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | let &undolevels=g:SaveUndoLevels | else | setlocal undolevels=-1 | endif
+ au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | syntax on | else | syntax off | endif
+endif
+
+set mouse&
+set noautoindent " always set autoindenting off
+
+" enable better 24-bit color support
+"let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
+"let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
+set termguicolors
+
+" If using a dark background within the editing area and syntax highlighting
+" turn on this option as well
+set background=dark
+
+if has("autocmd")
+ " Enabled file type detection
+ " Use the default filetype settings. If you also want to load indent files
+ " to automatically do language-dependent indenting add 'indent' as well.
+ filetype plugin on
+ "filetype indent on
+endif " has ("autocmd")
+
+" The following are commented out as they cause vim to behave a lot
+" different from regular vi. They are highly recommended though.
+set showcmd " Show (partial) command in status line.
+set showmatch " Show matching brackets.
+set ignorecase " Do case insensitive matching
+set incsearch " Incremental search
+"set expandtab " replace tabs with spaces
+set smarttab " use shiftwidth instead of tabstop at start of line
+set spell spelllang=en_us " turn on the spell check
+
+set laststatus=2
+set statusline=%<%f%h%m%r%=%{&ff}\ %Y\ %b\ 0x%B\ \ %l,%c%V\ %P
+
+map <F5> :w<CR><bar>:!clear;go run %<CR>
+map <F6> :w<CR><bar>:%! gofmt<CR>
diff --git a/home/nipsy/common/core/zsh/default.nix b/home/nipsy/common/core/zsh/default.nix
new file mode 100644
index 0000000..453fa9f
--- /dev/null
+++ b/home/nipsy/common/core/zsh/default.nix
@@ -0,0 +1,10 @@
+{
+ programs.zsh = {
+ enable = true;
+ initExtra = (builtins.readFile ./zshrc);
+ shellAliases = {
+ la = "ls -alFh --color=auto";
+ ll = "ls -aF --color=auto";
+ };
+ };
+}
diff --git a/ginaz/home.nix b/home/nipsy/common/core/zsh/zshrc
index c2f84f7..9e43d1d 100644
--- a/ginaz/home.nix
+++ b/home/nipsy/common/core/zsh/zshrc
@@ -1,120 +1,3 @@
-{ config, pkgs, ... }:
-
-{
- gtk = {
- enable = true;
- gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
- gtk4.extraConfig.gtk-application-prefer-dark-theme = true;
- };
-
- home.username = "nipsy";
- home.homeDirectory = "/home/nipsy";
- home.stateVersion = "23.11";
-
- programs.git = {
- enable = true;
- userName = "Mark Nipper";
- userEmail = "nipsy@bitgnome.net";
- extraConfig.pull.rebase = true;
- };
-
- programs.home-manager.enable = true;
-
- programs.tmux = {
- enable = true;
- extraConfig = ''
- #set-option -ga terminal-overrides ",st-256color:Tc"
- set -as terminal-features ",foot*:RGB"
- set -as terminal-features ",st-256color:RGB"
- set -ga monitor-bell on
- set -g history-limit 100000
- set -g bell-action any
- #set -g bell-on-alert on
-
- set -s escape-time 0
-
- setw -g aggressive-resize on
- setw -g wrap-search off
-
- bind-key a send-prefix
- bind-key k kill-session
- bind-key H pipe-pane -o 'cat >> ~/.tmux.log.#h-#S-#I-#P'
-
- #bind-key m \
- # set -g mouse on \;\
- # display 'Mouse: ON'
- #bind M \
- # set -g mouse off \;\
- # display 'Mouse: OFF'
-
- # vim-like copypaste mode
- set-window-option -g mode-keys vi
- bind-key -T copy-mode-vi v send -X begin-selection
- bind-key -T copy-mode-vi y send -X copy-pipe "xclip -selection clipboard"
- bind-key -T copy-mode-vi C-v send -X rectangle-toggle
- bind-key P run "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"
-
- # don't exit copy mode after selection
- #set -s mouse on
- #bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-selection -x
- '';
- };
-
- programs.vim = {
- enable = true;
- extraConfig = ''
- " Handling of big files - William Natter, Tony Mechelynck and others
- " fairly certain that BufSizeThreshold is in bytes
- let g:SaveUndoLevels = &undolevels
- let g:BufSizeThreshold = 5242880
- if has("autocmd")
- au VimEnter * let g:SaveUndoLevels = &undolevels
- au BufReadPre * if getfsize(expand("%")) >= g:BufSizeThreshold | setlocal noswapfile | endif
- au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | let &undolevels=g:SaveUndoLevels | else | setlocal undolevels=-1 | endif
- au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | syntax on | else | syntax off | endif
- endif
-
- set mouse&
- set noautoindent " always set autoindenting off
-
- " enable better 24-bit color support
- "let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
- "let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
- set termguicolors
-
- " If using a dark background within the editing area and syntax highlighting
- " turn on this option as well
- set background=dark
-
- if has("autocmd")
- " Enabled file type detection
- " Use the default filetype settings. If you also want to load indent files
- " to automatically do language-dependent indenting add 'indent' as well.
- filetype plugin on
- "filetype indent on
- endif " has ("autocmd")
-
- " The following are commented out as they cause vim to behave a lot
- " different from regular vi. They are highly recommended though.
- set showcmd " Show (partial) command in status line.
- set showmatch " Show matching brackets.
- set ignorecase " Do case insensitive matching
- set incsearch " Incremental search
- "set expandtab " replace tabs with spaces
- set smarttab " use shiftwidth instead of tabstop at start of line
- set spell spelllang=en_us " turn on the spell check
-
- set laststatus=2
- set statusline=%<%f%h%m%r%=%{&ff}\ %Y\ %b\ 0x%B\ \ %l,%c%V\ %P
-
- map <F5> :w<CR><bar>:!clear;go run %<CR>
- map <F6> :w<CR><bar>:%! gofmt<CR>
- '';
- };
-
- programs.zsh = {
- enable = true;
- initExtra = ''
umask 022
#export GOROOT="''${HOME}/.local/go"
@@ -192,8 +75,8 @@ setopt LONG_LIST_JOBS NO_HUP
setopt NO_BEEP
lsopt='--color=auto'
-alias ll="ls -alFh $lsopt"
-alias la="ls -aF $lsopt"
+#alias ll="ls -alFh $lsopt"
+#alias la="ls -aF $lsopt"
alias cal="ncal -b"
#alias grep='grep --color=always' # cannot do this as it breaks shell pipelines
alias talk='gnutalk --curses'
@@ -285,6 +168,3 @@ function precmd {
}
PS1='%# '
- '';
- };
-}
diff --git a/home/nipsy/common/optional/desktops/default.nix b/home/nipsy/common/optional/desktops/default.nix
new file mode 100644
index 0000000..0bb8411
--- /dev/null
+++ b/home/nipsy/common/optional/desktops/default.nix
@@ -0,0 +1,7 @@
+{
+ imports = [
+ ./gtk.nix
+ ./i3
+ ./services/dunst.nix
+ ];
+}
diff --git a/home/nipsy/common/optional/desktops/gtk.nix b/home/nipsy/common/optional/desktops/gtk.nix
new file mode 100644
index 0000000..facb782
--- /dev/null
+++ b/home/nipsy/common/optional/desktops/gtk.nix
@@ -0,0 +1,7 @@
+{
+ gtk = {
+ enable = true;
+ gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
+ gtk4.extraConfig.gtk-application-prefer-dark-theme = true;
+ };
+}
diff --git a/home/nipsy/common/optional/desktops/i3/config b/home/nipsy/common/optional/desktops/i3/config
new file mode 100644
index 0000000..57c9d38
--- /dev/null
+++ b/home/nipsy/common/optional/desktops/i3/config
@@ -0,0 +1,228 @@
+# 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 somewhen, delete
+# this file and re-run i3-config-wizard(1).
+#
+
+# i3 config file (v4)
+#
+# Please see http://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. ISO 10646 = Unicode
+font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+# The font above is very space-efficient, that is, it looks good, sharp and
+# clear in small sizes. However, if you need a lot of unicode glyphs or
+# right-to-left text rendering, you should instead use pango for rendering and
+# chose a FreeType font, such as:
+# font pango:DejaVu Sans Mono 10
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec --no-startup-id st
+
+# lock the screen
+bindsym $mod+Scroll_Lock exec --no-startup-id xscreensaver-command -lock
+
+# increase volume
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
+
+# decrease volume
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
+
+# mute volume
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
+
+# mute mic volume
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute 1 toggle
+
+# kill focused window
+bindsym $mod+Shift+q kill
+# kill with middle mouse button over titlebar
+bindsym --release button2 kill
+# kill with middle mouse button and $mod anywhere over window
+bindsym --whole-window $mod+button2 kill
+
+# start dmenu (a program launcher)
+bindsym $mod+d exec dmenu_run
+# There also is the (new) i3-dmenu-desktop which only displays applications
+# shipping a .desktop file. It is a wrapper around dmenu, so you need that
+# installed.
+# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
+
+# change focus
+bindsym $mod+j focus left
+bindsym $mod+k focus down
+bindsym $mod+l focus up
+bindsym $mod+semicolon 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+j move left
+bindsym $mod+Shift+k move down
+bindsym $mod+Shift+l move up
+bindsym $mod+Shift+semicolon 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+h split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+Shift+f fullscreen
+
+# enter fullscreen mode for the focused container
+bindsym $mod+Shift+g fullscreen global
+
+# 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
+
+# switch to workspace
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+bindsym $mod+F1 workspace 11
+bindsym $mod+F2 workspace 12
+bindsym $mod+F3 workspace 13
+bindsym $mod+F4 workspace 14
+bindsym $mod+F5 workspace 15
+bindsym $mod+F6 workspace 16
+bindsym $mod+F7 workspace 17
+bindsym $mod+F8 workspace 18
+bindsym $mod+F9 workspace 19
+bindsym $mod+F10 workspace 20
+
+# move backward or forward to next workspace
+bindsym $mod+n workspace next
+bindsym $mod+p workspace prev
+bindsym $mod+f workspace next_on_output
+bindsym $mod+b workspace prev_on_output
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+bindsym $mod+Shift+F1 move container to workspace 11
+bindsym $mod+Shift+F2 move container to workspace 12
+bindsym $mod+Shift+F3 move container to workspace 13
+bindsym $mod+Shift+F4 move container to workspace 14
+bindsym $mod+Shift+F5 move container to workspace 15
+bindsym $mod+Shift+F6 move container to workspace 16
+bindsym $mod+Shift+F7 move container to workspace 17
+bindsym $mod+Shift+F8 move container to workspace 18
+bindsym $mod+Shift+F9 move container to workspace 19
+bindsym $mod+Shift+F10 move container to workspace 20
+
+# jump to urgent window
+bindsym $mod+u [urgent=latest] focus
+
+# 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 "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
+bindsym $mod+Shift+e exec i3-msg 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 window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym j resize shrink width 10 px or 10 ppt
+ bindsym k resize grow height 10 px or 10 ppt
+ bindsym l resize shrink height 10 px or 10 ppt
+ bindsym semicolon resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+# bar toggle, hide or show
+bindsym $mod+m bar mode toggle
+
+# VNC mode (disable all local keybindings except the toggle keybinding)
+mode "VNC" {
+ bindsym $mod+Shift+v mode "default"
+}
+
+bindsym $mod+Shift+v mode "VNC"
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+ status_command i3status
+ tray_output primary
+}
+
+# set borders normal for everything except st
+#for_window [class="^.*"] border normal
+#for_window [class="st-256color"] border pixel 1
+#for_window [class="AppGate SDP"] floating disable
+#for_window [class="factorio"] fullscreen enable
+for_window [class="Steam" title="Friends List"] floating enable
+#for_window [class=".*"] border none
+for_window [all] border none
+
+# Start network applet
+#exec --no-startup-id nm-applet
+#exec --no-startup-id blueman-applet
+#exec --no-startup-id ~/bin/xscreensaver-activate
+#exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
diff --git a/home/nipsy/common/optional/desktops/i3/default.nix b/home/nipsy/common/optional/desktops/i3/default.nix
new file mode 100644
index 0000000..d369ff2
--- /dev/null
+++ b/home/nipsy/common/optional/desktops/i3/default.nix
@@ -0,0 +1,10 @@
+{
+ programs.i3status = {
+ enable = true;
+ };
+
+ xsession.windowManager.i3 = {
+ enable = true;
+ extraConfig = (builtins.readFile ./config);
+ };
+}
diff --git a/home/nipsy/common/optional/desktops/services/dunst.nix b/home/nipsy/common/optional/desktops/services/dunst.nix
new file mode 100644
index 0000000..9efef64
--- /dev/null
+++ b/home/nipsy/common/optional/desktops/services/dunst.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }:
+{
+ home.packages = builtins.attrValues {
+ inherit (pkgs)
+ libnotify; # required by dunst
+ };
+
+ services.dunst = {
+ enable = true;
+ };
+}
diff --git a/home/nipsy/ginaz.nix b/home/nipsy/ginaz.nix
new file mode 100644
index 0000000..17d39fd
--- /dev/null
+++ b/home/nipsy/ginaz.nix
@@ -0,0 +1,7 @@
+{ inputs, lib, pkgs, config, outputs, ... }:
+{
+ imports = [
+ common/core
+ common/optional/desktops
+ ];
+}