Move a bunch of things around
This commit is contained in:
parent
28d21046ef
commit
bfc89aff7f
39 changed files with 435 additions and 244 deletions
home/features
|
@ -10,5 +10,5 @@ Check out [tethys](../tethys.nix) for example imports
|
|||
| [desktop](./desktop) | Desktop apps usable on both wayland and xorg |
|
||||
| [xorg](./xorg) | Xorg only stuff |
|
||||
| [wayland](./wayland) | Wayland only stuff |
|
||||
| [neovim](./neovim) | Neovim (to be expanded in the future ) |
|
||||
| [persistence](./persistence.nix) | For impermanence settings |
|
||||
| [neovim](./neovim) | Neovim (to be expanded in the future) |
|
||||
| [persistence](./persistence.nix) | For impermanence settings |
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
# Enabling this produces an uglier theme for some reason.
|
||||
# options.stylix.targets.bat.enable =true;
|
||||
# options.stylix.targets.bat.enable = true;
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config.theme = "base16-256";
|
||||
};
|
||||
|
||||
home.shellAliases.cat = "bat";
|
||||
}
|
||||
|
|
|
@ -16,21 +16,42 @@
|
|||
|
||||
# Install clis
|
||||
home.packages = with pkgs; [
|
||||
ranger # Terminal file explorer
|
||||
comma # Intstall and run programs by sticking a , before them
|
||||
bc # Calculator
|
||||
# {{{ System information
|
||||
acpi # Battery stats
|
||||
neofetch # Display system information
|
||||
tokei # Useless but fun line of code counter (sloc alternative)
|
||||
bottom # System monitor
|
||||
# }}}
|
||||
# {{{ Storage
|
||||
ncdu # TUI disk usage
|
||||
du-dust # Similar to du and ncdu in purpose.
|
||||
# }}}
|
||||
# {{{ Alternatives to usual commands
|
||||
ripgrep # Better grep
|
||||
fd # Better find
|
||||
sd # Better sed
|
||||
httpie # Better curl
|
||||
# }}}
|
||||
# {{{ Misc
|
||||
ranger # Terminal file explorer
|
||||
comma # Intstall and run programs by sticking a , before them
|
||||
bc # Calculator
|
||||
ouch # Unified compression / decompression tool
|
||||
mkpasswd # Hash passwords
|
||||
neofetch # Display system information
|
||||
tokei # Useless but fun line of code counter (sloc alternative)
|
||||
bottom # System monitor
|
||||
inputs.agenix.packages.${pkgs.system}.agenix # Secret encryption
|
||||
inputs.deploy-rs.packages.${pkgs.system}.default # Deployment
|
||||
# }}}
|
||||
];
|
||||
|
||||
# Set up common aliases
|
||||
home.shellAliases = {
|
||||
# {{{ Storage
|
||||
# -h = humans readable units
|
||||
df = "df -h";
|
||||
du = "du -h";
|
||||
|
||||
# short for `du here`
|
||||
# -d = depth
|
||||
duh = "du -hd 1";
|
||||
# }}}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,33 +1,27 @@
|
|||
{ pkgs, config, ... }:
|
||||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
|
||||
shellAbbrs = {
|
||||
battery = "acpi";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
cat = "bat";
|
||||
df = "df -h";
|
||||
du = "du -h";
|
||||
duh = "du -hd 1"; # short for du here
|
||||
pdf = "zathura --fork"; # Open a pdf reader
|
||||
};
|
||||
|
||||
# with pkgs.fishPlugins;
|
||||
plugins = [
|
||||
# Jump to directories by typing "z <directory-name>"
|
||||
{
|
||||
name = "z";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "jethrokuan";
|
||||
repo = "z";
|
||||
rev = "85f863f20f24faf675827fb00f3a4e15c7838d76";
|
||||
sha256 = "1kaa0k9d535jnvy8vnyxd869jgs0ky6yg55ac1mxcxm8n0rh2mgq";
|
||||
};
|
||||
}
|
||||
];
|
||||
plugins =
|
||||
let
|
||||
plugins = with pkgs.fishPlugins; [
|
||||
z # Jump to directories by typing "z <directory-name>"
|
||||
grc # Adds color to a bunch of built in commands
|
||||
done # Trigger a notification when long commands finish execution
|
||||
puffer # Text expansion (i.e. expanding .... to ../../../)
|
||||
sponge # Remove failed commands and whatnot from history
|
||||
forgit # Git tui thingy? (I'm still trying this one out)
|
||||
fzf-fish # Fuzzy finder for things like files
|
||||
colored-man-pages # Self explainatory:)
|
||||
];
|
||||
in
|
||||
# For some reason home-manager expects a slightly different format 🤔
|
||||
lib.forEach plugins
|
||||
(plugin: {
|
||||
name = plugin.pname;
|
||||
inherit (plugin) src;
|
||||
});
|
||||
|
||||
interactiveShellInit = builtins.readFile ./config.fish;
|
||||
};
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
stylix.targets.alacritty.enable = true;
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
window.opacity = lib.mkForce 0.5; # Conflicts with stylix
|
||||
window.padding = {
|
||||
x = 4;
|
||||
y = 4;
|
||||
};
|
||||
|
||||
env = {
|
||||
TERM = "tmux-256color";
|
||||
ALWAYS_TMUX = 1;
|
||||
};
|
||||
|
||||
working_directory = "${config.home.homeDirectory}/Projects/";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
# Notify on low battery percentages.
|
||||
{
|
||||
services.batsignal.enable = true;
|
||||
}
|
|
@ -1,3 +1,12 @@
|
|||
{
|
||||
imports = [
|
||||
./wezterm # terminal
|
||||
./dunst.nix # notifaction handler
|
||||
];
|
||||
|
||||
# Notifies on low battery percentages
|
||||
services.batsignal.enable = true;
|
||||
|
||||
# Use a base16 theme for gtk apps!
|
||||
stylix.targets.gtk.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
# TODO: use base16 theme
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
services.keepassx.enable = true;
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
# Zathura is the pdf reader I am using.
|
||||
{ config, ... }:
|
||||
{
|
||||
programs.zathura = {
|
||||
|
@ -84,4 +85,6 @@
|
|||
# }}}
|
||||
'';
|
||||
};
|
||||
|
||||
home.shellAliases.pdf = "zathura --fork";
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ let
|
|||
# Formatters
|
||||
luaformatter # Lua
|
||||
stylua # Lua
|
||||
ormolu # Haskell
|
||||
black # Python
|
||||
yapf # Python
|
||||
isort # Reorder python imports
|
||||
|
|
|
@ -1,18 +1,17 @@
|
|||
# Common wayland stuff
|
||||
{ lib, pkgs, ... }: {
|
||||
{ lib, pkgs, inputs, ... }: {
|
||||
imports = [
|
||||
./dunst.nix
|
||||
./wlsunset.nix
|
||||
./wlogout.nix
|
||||
./anyrun.nix
|
||||
../desktop/wezterm # Default hyprland terminal
|
||||
../desktop/batsignal.nix
|
||||
|
||||
../desktop
|
||||
../desktop/eww
|
||||
];
|
||||
|
||||
# TODO: set up
|
||||
# - volume/backlight controls
|
||||
# - eww bar
|
||||
# - bar
|
||||
# - configure hyprland colors using base16 stuff
|
||||
# - look into swaylock or whatever people use
|
||||
# - multiple keyboard layouts
|
||||
|
@ -36,17 +35,10 @@
|
|||
# }}}
|
||||
in
|
||||
with pkgs; [
|
||||
# {{{ Utils
|
||||
libnotify # Send notifications
|
||||
wl-ocr # Custom ocr script
|
||||
wl-clipboard # Clipboard manager
|
||||
wlogout # Nice logout script
|
||||
wlsunset # Day/night gamma display adjustments
|
||||
hyprpicker # Color picker
|
||||
# }}}
|
||||
# {{{ Screenshot related tools
|
||||
grim # Take screenshot
|
||||
slurp # Area selector
|
||||
# }}}
|
||||
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast # Screenshot tool
|
||||
];
|
||||
}
|
|
@ -1,16 +1,13 @@
|
|||
{ pkgs, lib, config, inputs, ... }:
|
||||
|
||||
let
|
||||
enabledMonitors = lib.filter (m: m.enabled) config.satellite.monitors;
|
||||
hyprland-monitors = lib.concatStringsSep "\n" (lib.forEach enabledMonitors (m: ''
|
||||
hyprland-monitors = lib.concatStringsSep "\n" (lib.forEach config.satellite.monitors (m: ''
|
||||
monitor=${m.name},${toString m.width}x${toString m.height}@${toString m.refreshRate},${toString m.x}x${toString m.y},1
|
||||
${lib.optionalString (m.workspace != null) "workspace=${m.name},${m.workspace}"}
|
||||
''));
|
||||
in
|
||||
{
|
||||
imports = [ ../default.nix ../../desktop ];
|
||||
|
||||
home.packages = [ inputs.hyprland-contrib.packages.${pkgs.system}.grimblast pkgs.hyprpaper ];
|
||||
imports = [ ../global.nix ./hyprpaper.nix ];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
@ -21,16 +18,4 @@ in
|
|||
${hyprland-monitors}
|
||||
'';
|
||||
};
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
systemdTarget = "hyprland-session.target";
|
||||
|
||||
preload = [ config.stylix.image ];
|
||||
wallpapers = [{ inherit (config.stylix) image; }] ++
|
||||
lib.forEach enabledMonitors ({ name, ... }: {
|
||||
monitor = name;
|
||||
image = config.stylix.image;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
|
14
home/features/wayland/hyprland/hyprpaper.nix
Normal file
14
home/features/wayland/hyprland/hyprpaper.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
home.packages = [ pkgs.hyprpaper ];
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
systemdTarget = "hyprland-session.target";
|
||||
|
||||
preload = [ config.stylix.image ];
|
||||
wallpapers = [{ inherit (config.stylix) image; }] ++
|
||||
lib.forEach config.satellite.monitors ({ name, ... }: {
|
||||
monitor = name;
|
||||
image = config.stylix.image;
|
||||
});
|
||||
};
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
# Wlogout is a logout menu. In my setup, it can be triggered using mod-q
|
||||
{ config
|
||||
, pkgs
|
||||
, ...
|
||||
|
@ -9,6 +10,8 @@ let bgImageSection = name: ''
|
|||
'';
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.wlogout ];
|
||||
|
||||
xdg.configFile."wlogout/style.css".text = ''
|
||||
* {
|
||||
background-image: none;
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
libnotify = lib.getExe pkgs.libnotify;
|
||||
systemctl = "${pkgs.systemd}/bin/systemctl";
|
||||
|
||||
wlsunset-toggle = pkgs.writeShellScriptBin "wlsunset-toggle" ''
|
||||
if [ "active" = "$(systemctl --user is-active wlsunset.service)" ]
|
||||
then
|
||||
${systemctl} --user stop wlsunset.service
|
||||
${libnotify} "Stopped wlsunset"
|
||||
echo "Stopped wlsunset"
|
||||
else
|
||||
${systemctl} --user start wlsunset.service
|
||||
${libnotify} "Started wlsunset"
|
||||
echo "Started wlsunset"
|
||||
fi
|
||||
'';
|
||||
in
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
../desktop/batsignal.nix
|
||||
../desktop
|
||||
./rofi
|
||||
./polybar
|
||||
./feh.nix
|
|
@ -1,9 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./default.nix
|
||||
../desktop
|
||||
../desktop/alacritty.nix # Default xmonad terminal
|
||||
];
|
||||
imports = [ ./global.nix ];
|
||||
|
||||
# Command required to get the xdg stuff to work. Suggested by @lily on discord.
|
||||
xsession.initExtra = "${pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue