Add Niri, a scrolling tiling window manager.

This commit is contained in:
Jimbo 2024-12-03 16:50:23 -05:00
parent 325c176464
commit b3d9d2f396
38 changed files with 758 additions and 376 deletions

View file

@ -4,7 +4,6 @@
./easyeffects
./foot
./librewolf
./mako
./mangohud
./mpv
./pcmanfm

View file

@ -1,45 +0,0 @@
{ pkgs, config, ... }:
{
services.mako = {
enable = true;
borderColor = "#${config.look.colors.accent}";
backgroundColor = "#${config.look.colors.dark}D9";
output = "${config.displays.d1}";
sort = "+time";
layer = "overlay";
padding = "8";
margin = "0";
borderSize = config.look.border.int;
maxIconSize = 40;
defaultTimeout = 6000;
font = "${config.look.fonts.main} 12";
anchor = "bottom-right";
extraConfig = ''
on-button-right=dismiss-all
outer-margin=10
[mode=do-not-disturb]
invisible=1
'';
};
home.packages = with pkgs; [
(pkgs.writeScriptBin "makotoggle" ''
# Run makoctl mode and store the output in a variable
mode_output=$(makoctl mode)
# Extract the second line after "default"
mode_line=$(echo "$mode_output" | sed -n '/default/{n;p}')
if [[ "$mode_line" == "do-not-disturb" ]]; then
# Notifications are disabled, so we enable them
makoctl mode -r do-not-disturb
notify-send --expire-time=1500 'Notifications Enabled'
else
# Notifications are enabled, so we disable them
notify-send --expire-time=1500 'Notifications Disabled'
sleep 2
makoctl mode -a do-not-disturb
fi
'')
];
}

View file

@ -2,56 +2,37 @@
{
home = {
packages = with pkgs; [
pcmanfm-qt
pcmanfm
file-roller
];
file = {
".config/pcmanfm-qt/default/settings.conf".text = ''
[Behavior]
BookmarkOpenMethod=current_tab
ConfirmDelete=true
RecentFilesNumber=0
[Desktop]
HideItems=false
SortColumn=name
SortFolderFirst=true
SortHiddenLast=false
SortOrder=ascending
[FolderView]
Mode=icon
ScrollPerPixel=true
ShadowHidden=true
ShowFilter=false
ShowFullNames=true
ShowHidden=true
SortCaseSensitive=false
SortColumn=mtime
SortFolderFirst=true
SortHiddenLast=false
SortOrder=descending
[Places]
HiddenPlaces=menu://applications/, network:///, computer:///, /home/${config.home.username}/Desktop
[System]
Archiver=file-roller
Terminal=foot
[Thumbnail]
MaxExternalThumbnailFileSize=-1
MaxThumbnailFileSize=4096
ShowThumbnails=true
ThumbnailLocalFilesOnly=false
[Window]
AlwaysShowTabs=false
PathBarButtons=true
ShowMenuBar=true
ShowTabClose=true
SwitchToNewTab=true
TabPaths=@Invalid()
".config/pcmanfm/default/pcmanfm.conf".text = ''
[config]
bm_open_method=0
[volume]
mount_on_startup=0
mount_removable=1
autorun=0
[ui]
always_show_tabs=0
max_tab_chars=32
win_width=943
win_height=1039
splitter_pos=150
media_in_new_tab=0
desktop_folder_new_win=0
change_tab_on_drop=1
close_on_unmount=1
focus_previous=0
side_pane_mode=places
view_mode=icon
show_hidden=1
sort=name;ascending;
toolbar=newtab;navigation;home;
show_statusbar=1
pathbar_mode_buttons=0
'';
};
};

View file

@ -127,7 +127,7 @@
home.packages = with pkgs; [
(pkgs.writeScriptBin "rofiscripts" ''
# Scratchpad function
handle_scratchpads() {
scratchpads() {
SCRATCHPADS=$(echo -e "Gotop\nMusic\nSound\nEasyEffects" | rofi -dmenu -i -p "Scratchpads")
case $SCRATCHPADS in
Gotop) foot -a gotop -T Gotop gotop;;
@ -138,43 +138,24 @@
}
# Lock menu
handle_power() {
power() {
POWER=$(echo -e "Shutdown\nReboot\nSleep\nLock\nKill" | rofi -dmenu -i -p "Power")
case $POWER in
Shutdown) poweroff;;
Reboot) reboot;;
Sleep) swaysleep &;;
Lock) swaylock &;;
Kill) pkill -9 sway;;
esac
}
# Resolutions
handle_resolutions() {
RET=$(echo -e "Default\nWide\nGPU2" | rofi -dmenu -i -p "Resolutions")
case $RET in
Default) swaymsg reload ;;
Wide) swaymsg "
output ${config.displays.d1} enable pos 1680 0 mode 1680x1050@59.954Hz
output ${config.displays.d2} enable pos 0 0 mode 1680x1050@59.954Hz
output ${config.displays.d3} enable pos 3360 0 transform 0
";;
GPU2) swaymsg "
output ${config.displays.d2} enable pos 1680 0 mode 1920x1080@60Hz
output ${config.displays.d3} enable pos 0 0 transform 0
";;
Kill) pkill -9 $XDG_CURRENT_DESKTOP;;
esac
}
# Check for command-line arguments
if [ "$1" == "--scratchpads" ]; then
handle_scratchpads
scratchpads
elif [ "$1" == "--power" ]; then
handle_power
elif [ "$1" == "--resolutions" ]; then
handle_resolutions
power
else
echo "Please use a valid argument."
echo "Please --scratchpads or --power."
fi
'')
rofi-bluetooth