Reorganized packages list a bit
Added xdg-terminal-exec Added papirus icon theme; not yet active Enabled fcitx for sway Enabled sway autolaunch on login in tty1 Set git config
This commit is contained in:
parent
bcee64e3bf
commit
8898a6cc13
42
home.nix
42
home.nix
|
|
@ -20,14 +20,15 @@ in
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
[ texliveFull ] ++ # TeX distribution
|
[ texliveFull ] ++ # TeX distribution
|
||||||
(with ocamlPackages; [ ocaml opam dune_3 dune-release merlin ocaml-lsp odoc ocamlformat utop ]) ++ # OCaml
|
(with ocamlPackages; [ ocaml opam dune_3 dune-release merlin ocaml-lsp odoc ocamlformat utop ]) ++ # OCaml
|
||||||
[ grim slurp wl-clipboard jq ] ++ # Basic utilities
|
[ grim slurp wl-clipboard jq (callPackage ./pkgs/xdg-terminal-exec/xdg-terminal-exec.nix {}) ] ++ # Basic utilities
|
||||||
[ bitwarden-cli ] ++ # Personalized selection of command-line (CLI/TUI) apps
|
[ bitwarden-cli ] ++ # Personalized selection of command-line (CLI/TUI) apps
|
||||||
[ wezterm ] ++ # Terminal emulator
|
[ wezterm ] ++ # Terminal emulator
|
||||||
[ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller imv vlc pavucontrol ] ++ # Basic graphical apps
|
[ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller imv vlc pavucontrol ] ++ # Basic graphical apps
|
||||||
[ libreoffice signal-desktop element-desktop prismlauncher mumble gimp inkscape ] ++ # Personalized selection of graphical apps
|
[ libreoffice signal-desktop element-desktop prismlauncher mumble gimp inkscape ] ++ # Personalized selection of graphical apps
|
||||||
# [ factorio ] ++ # Games
|
# [ factorio ] ++ # Games
|
||||||
[ bemenu j4-dmenu-desktop fcitx5-with-addons grim slurp wl-clipboard ] ++ # Sway- and Wayland-related packages
|
[ bemenu j4-dmenu-desktop fcitx5-with-addons ] ++ # Sway- and Wayland-related packages
|
||||||
[ noto-fonts redhat-official-fonts overpass ibm-plex ] ++ # Fonts
|
[ noto-fonts redhat-official-fonts overpass ibm-plex ] ++ # Fonts
|
||||||
|
[ papirus-icon-theme ] ++ # Icons
|
||||||
# [ vanilla-dmz ] ++ # Cursor
|
# [ vanilla-dmz ] ++ # Cursor
|
||||||
[ ];
|
[ ];
|
||||||
|
|
||||||
|
|
@ -36,11 +37,21 @@ in
|
||||||
# Enabling bash from home-manager means environment variables set by HM get set correctly
|
# Enabling bash from home-manager means environment variables set by HM get set correctly
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profileExtra = "export VISUAL=nvim";
|
profileExtra = ''
|
||||||
|
export VISUAL=nvim
|
||||||
|
# Enable fcitx for sway
|
||||||
|
export GTK_IM_MODULE=fcitx
|
||||||
|
export QT_IM_MODULE=fcitx
|
||||||
|
export XMODIFIERS=@im=fcitx
|
||||||
|
# If running from tty1 start sway
|
||||||
|
[ "$(tty)" = "/dev/tty1" ] && exec sway
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
userName = "vorboyvo";
|
||||||
|
userEmail = "mrsirofvibe@outlook.com";
|
||||||
extraConfig = { init.defaultBranch = "main"; };
|
extraConfig = { init.defaultBranch = "main"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -68,14 +79,7 @@ in
|
||||||
# fix nemo terminal integration
|
# fix nemo terminal integration
|
||||||
dconf.settings."org/cinnamon/desktop/applications/terminal".exec = "wezterm";
|
dconf.settings."org/cinnamon/desktop/applications/terminal".exec = "wezterm";
|
||||||
|
|
||||||
# programs.kitty = {
|
# terminal emulator
|
||||||
# enable = true;
|
|
||||||
# font = {
|
|
||||||
# name = "NotoMono";
|
|
||||||
# size = 11;
|
|
||||||
# };
|
|
||||||
# shellIntegration.enableBashIntegration = true;
|
|
||||||
# };
|
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
|
|
@ -102,6 +106,22 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Configure notifications
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global.font = "Red Hat Display 12";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.batsignal = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
indicator = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.firefox = import ./programs/firefox.nix {inherit pkgs;};
|
programs.firefox = import ./programs/firefox.nix {inherit pkgs;};
|
||||||
|
|
||||||
programs.thunderbird = import ./programs/thunderbird.nix;
|
programs.thunderbird = import ./programs/thunderbird.nix;
|
||||||
|
|
|
||||||
17
pkgs/xdg-terminal-exec/xdg-terminal-exec.nix
Normal file
17
pkgs/xdg-terminal-exec/xdg-terminal-exec.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ pkgs }:
|
||||||
|
with pkgs;
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "xdg-terminal-exec";
|
||||||
|
version = "efc3517";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Vladimir-csp";
|
||||||
|
repo = "xdg-terminal-exec";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-uLUHvSjxIjmy0ejqLfliB6gHFRwyTWNH1RL5kTXebUM="; # TODO will fix
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm755 xdg-terminal-exec $out/bin/xdg-terminal-exec
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -43,9 +43,27 @@ plugins = {
|
||||||
require 'nordic' .load()
|
require 'nordic' .load()
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
"lervag/vimtex",
|
||||||
|
{
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
require("lazy").setup(plugins)
|
require("lazy").setup(plugins)
|
||||||
|
|
||||||
-- Configure nvim-lspconfig to work with servers
|
-- Configure nvim-lspconfig to work with servers
|
||||||
require'lspconfig'.ocamllsp.setup{}
|
require'lspconfig'.ocamllsp.setup{}
|
||||||
|
|
||||||
|
-- Configure vimtex
|
||||||
|
vim.g.vimtex_view_method = "zathura"
|
||||||
|
|
||||||
|
-- Configure lualine
|
||||||
|
require('lualine').setup {
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
theme = 'nord',
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,11 @@ let
|
||||||
mod = config.wayland.windowManager.sway.config.modifier;
|
mod = config.wayland.windowManager.sway.config.modifier;
|
||||||
dmenuCommand = builtins.readFile "${scripts}/dmenu.sh";
|
dmenuCommand = builtins.readFile "${scripts}/dmenu.sh";
|
||||||
shutdownMenu = pkgs.writeShellScript "shutdownmenu" (builtins.readFile "${scripts}/shutdownmenu.sh");
|
shutdownMenu = pkgs.writeShellScript "shutdownmenu" (builtins.readFile "${scripts}/shutdownmenu.sh");
|
||||||
|
terminal = "wezterm";
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = rec {
|
config = rec {
|
||||||
terminal = "wezterm";
|
inherit terminal;
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "Red Hat Display" ];
|
names = [ "Red Hat Display" ];
|
||||||
|
|
@ -21,6 +22,7 @@ in {
|
||||||
natural_scroll = "disabled";
|
natural_scroll = "disabled";
|
||||||
dwt = "disabled";
|
dwt = "disabled";
|
||||||
click_method = "clickfinger";
|
click_method = "clickfinger";
|
||||||
|
scroll_factor = "0.5";
|
||||||
};
|
};
|
||||||
bars = let config = config; in [{
|
bars = let config = config; in [{
|
||||||
position = "top";
|
position = "top";
|
||||||
|
|
@ -32,8 +34,8 @@ in {
|
||||||
titlebar = true;
|
titlebar = true;
|
||||||
};
|
};
|
||||||
keybindings = let screenshotPath = "Pictures/Screenshots/screenshot`date +%Y%m%d%H%M%S`.png"; in lib.mkOptionDefault ({ # Screenshot keybinds
|
keybindings = let screenshotPath = "Pictures/Screenshots/screenshot`date +%Y%m%d%H%M%S`.png"; in lib.mkOptionDefault ({ # Screenshot keybinds
|
||||||
"Print" = "exec grim ${screenshotPath} && wl-copy < ${screenshotPath}"; # Take screenshot of whole screen, save it, and copy it to clipboard
|
"Print" = "exec grim - | wl-copy && wl-paste > ${screenshotPath}"; # Take screenshot of whole screen, save it, and copy it to clipboard
|
||||||
"Shift+Print" = "exec swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | \"\\(.x),\\(.y) \\(.width)x\\(.height)\"' | grim -g - ${screenshotPath} && wl-copy < ${screenshotPath}"; # Take screenshot of current window, save it, and copy it to clipboard
|
"Shift+Print" = "exec swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | \"\\(.x),\\(.y) \\(.width)x\\(.height)\"' | grim -g - | wl-copy && wl-paste > ${screenshotPath}"; # Take screenshot of current window, save it, and copy it to clipboard
|
||||||
"Ctrl+Print" = "exec bash ${dynscreenshot}"; # Take screenshot of selection, save it, and copy it to clipboard
|
"Ctrl+Print" = "exec bash ${dynscreenshot}"; # Take screenshot of selection, save it, and copy it to clipboard
|
||||||
} // { # Function Media Keys
|
} // { # Function Media Keys
|
||||||
XF86MonBrightnessUp = "exec bash ${changebrightness} 1";
|
XF86MonBrightnessUp = "exec bash ${changebrightness} 1";
|
||||||
|
|
@ -42,11 +44,12 @@ in {
|
||||||
XF86AudioLowerVolume = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-";
|
XF86AudioLowerVolume = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-";
|
||||||
"${mod}+XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.05+";
|
"${mod}+XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.05+";
|
||||||
"${mod}+XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.05-";
|
"${mod}+XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.05-";
|
||||||
|
"${mod}+Shift+e" = null;
|
||||||
XF86PowerOff = "exec DMENU_COMMAND='${dmenuCommand}' bash ${shutdownMenu}";
|
XF86PowerOff = "exec DMENU_COMMAND='${dmenuCommand}' bash ${shutdownMenu}";
|
||||||
} // {
|
} // {
|
||||||
"${mod}+space" = "exec fcitx5-remote -t";
|
"${mod}+space" = "exec fcitx5-remote -t";
|
||||||
});
|
});
|
||||||
menu = "j4-dmenu-desktop --no-generic --term=wezterm --dmenu='${dmenuCommand}'"; # I don't like hardcoding kitty here, TODO think of better way to do it
|
menu = "j4-dmenu-desktop --no-generic --term=${terminal} --dmenu='${dmenuCommand}'";
|
||||||
focus.followMouse = false;
|
focus.followMouse = false;
|
||||||
};
|
};
|
||||||
extraConfig =
|
extraConfig =
|
||||||
|
|
@ -56,5 +59,8 @@ in {
|
||||||
''
|
''
|
||||||
exec fcitx5
|
exec fcitx5
|
||||||
'' + # Fcitx5 enables input method switching
|
'' + # Fcitx5 enables input method switching
|
||||||
|
''
|
||||||
|
exec dunst
|
||||||
|
'' + # Enable notifications
|
||||||
"";
|
"";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1,3 @@
|
||||||
shotpath="Pictures/Screenshots/screenshot`date +%Y%m%d%H%M%S`.png"; slurp | grim -g - $shotpath && wl-copy < $shotpath
|
shotpath="$HOME/Pictures/Screenshots/screenshot`date +%Y%m%d%H%M%S`.png"
|
||||||
|
grim -g "$(slurp)" - | wl-copy
|
||||||
|
wl-paste > $shotpath
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,6 @@ case `printf "Cancel\nSuspend\nPower Off\nReboot\nLog Out" | $DMENU_COMMAND` in
|
||||||
systemctl reboot
|
systemctl reboot
|
||||||
;;
|
;;
|
||||||
"Log Out")
|
"Log Out")
|
||||||
loginctl kill-session
|
swaymsg exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
6
todo
6
todo
|
|
@ -1,7 +1,7 @@
|
||||||
# enable NUR and firefox extensions
|
# enable NUR and firefox extensions
|
||||||
split app configs off into separate files
|
|
||||||
set up a keyring and store networkmanager wifi passwords in there instead of plain text
|
set up a keyring and store networkmanager wifi passwords in there instead of plain text
|
||||||
fnott: notifications
|
|
||||||
neovim and vimtex config
|
|
||||||
mute button
|
mute button
|
||||||
i3status bar
|
i3status bar
|
||||||
|
bluetooth setup
|
||||||
|
media player daemon
|
||||||
|
dmenu files
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue