#W# Initial Commit: NixOS
BIN
home-manager/files/Wallpapers/0-ship-at-sea.jpg
Executable file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
home-manager/files/Wallpapers/1-matte-black.jpg
Executable file
|
After Width: | Height: | Size: 1,010 KiB |
BIN
home-manager/files/Wallpapers/2-osaka-jade-bg.jpg
Executable file
|
After Width: | Height: | Size: 1 MiB |
BIN
home-manager/files/Wallpapers/3-ristretto.jpg
Executable file
|
After Width: | Height: | Size: 798 KiB |
BIN
home-manager/files/Wallpapers/BeachCars.png
Executable file
|
After Width: | Height: | Size: 6.1 MiB |
BIN
home-manager/files/Wallpapers/CarOnMarsFront.png
Executable file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
home-manager/files/Wallpapers/CarOnMarsRear.jpg
Executable file
|
After Width: | Height: | Size: 3.5 MiB |
BIN
home-manager/files/Wallpapers/CarOnMarsSide.png
Executable file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
home-manager/files/Wallpapers/CityStreetDay.jpg
Executable file
|
After Width: | Height: | Size: 559 KiB |
BIN
home-manager/files/Wallpapers/CoffeeBattery.png
Executable file
|
After Width: | Height: | Size: 38 KiB |
BIN
home-manager/files/Wallpapers/Dark_Nature.png
Executable file
|
After Width: | Height: | Size: 3.5 MiB |
BIN
home-manager/files/Wallpapers/DesertSun.png
Executable file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
home-manager/files/Wallpapers/FourSeasons.jpg
Executable file
|
After Width: | Height: | Size: 6.5 MiB |
BIN
home-manager/files/Wallpapers/FutureCityScape.jpg
Executable file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
home-manager/files/Wallpapers/Garage.jpg
Executable file
|
After Width: | Height: | Size: 994 KiB |
BIN
home-manager/files/Wallpapers/GasStationBench.jpg
Executable file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
home-manager/files/Wallpapers/GeoMountian.jpeg
Executable file
|
After Width: | Height: | Size: 441 KiB |
BIN
home-manager/files/Wallpapers/NightGlow.jpg
Executable file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
home-manager/files/Wallpapers/Rainnight.jpg
Executable file
|
After Width: | Height: | Size: 3.6 MiB |
BIN
home-manager/files/Wallpapers/SnowyCabin.png
Executable file
|
After Width: | Height: | Size: 7.5 MiB |
BIN
home-manager/files/Wallpapers/StoreFront.jpg
Executable file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
home-manager/files/Wallpapers/Summer.jpg
Executable file
|
After Width: | Height: | Size: 469 KiB |
BIN
home-manager/files/Wallpapers/SynthLandScape.jpg
Executable file
|
After Width: | Height: | Size: 626 KiB |
BIN
home-manager/files/Wallpapers/SynthSun.png
Executable file
|
After Width: | Height: | Size: 3.2 MiB |
BIN
home-manager/files/Wallpapers/TheTree.jpg
Executable file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
home-manager/files/Wallpapers/Walkway.jpg
Executable file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
home-manager/files/Wallpapers/blue.jpg
Executable file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
home-manager/files/Wallpapers/clouds.png
Executable file
|
After Width: | Height: | Size: 3.7 MiB |
BIN
home-manager/files/Wallpapers/gruv-gasstation.png
Executable file
|
After Width: | Height: | Size: 913 KiB |
BIN
home-manager/files/Wallpapers/panes.jpg
Executable file
|
After Width: | Height: | Size: 203 KiB |
BIN
home-manager/files/Wallpapers/result.png
Executable file
|
After Width: | Height: | Size: 276 KiB |
BIN
home-manager/files/Wallpapers/space.png
Executable file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
home-manager/files/Wallpapers/spacehawks.png
Executable file
|
After Width: | Height: | Size: 12 MiB |
BIN
home-manager/files/Wallpapers/summer-time.jpg
Executable file
|
After Width: | Height: | Size: 684 KiB |
BIN
home-manager/files/Wallpapers/wallhaven-2yl6px.jpg
Executable file
|
After Width: | Height: | Size: 382 KiB |
15
home-manager/files/bashrc
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
export DOTNET_ROOT=$HOME/.dotnet
|
||||
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
|
||||
export DOTNET_SYSTEM_NET_DISABLEIPV6=1
|
||||
gitbranch() {
|
||||
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
|
||||
}
|
||||
gitbranchdirty() {
|
||||
[[ $(git status --porcelain 2> /dev/null) ]] && echo " *"
|
||||
}
|
||||
|
||||
if [ -n "$DISTROBOX_ENTER_PATH" ]; then
|
||||
PS1="[CONTAINER - ] [\w]\$(gitbranch)$(gitbranchdirty)\\n[\$]: "
|
||||
fi
|
||||
clear
|
||||
echo "Welcom to your ArchLinux Distrobox Container!"
|
||||
5
home-manager/files/dms/plugin_settings.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dankDiskUsage": {
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
556
home-manager/files/dms/settings.json
Normal file
|
|
@ -0,0 +1,556 @@
|
|||
{
|
||||
"currentThemeName": "dynamic",
|
||||
"currentThemeCategory": "dynamic",
|
||||
"customThemeFile": "",
|
||||
"registryThemeVariants": {},
|
||||
"matugenScheme": "scheme-fidelity",
|
||||
"runUserMatugenTemplates": true,
|
||||
"matugenTargetMonitor": "",
|
||||
"popupTransparency": 1,
|
||||
"dockTransparency": 1,
|
||||
"widgetBackgroundColor": "sch",
|
||||
"widgetColorMode": "default",
|
||||
"controlCenterTileColorMode": "primary",
|
||||
"buttonColorMode": "primary",
|
||||
"cornerRadius": 12,
|
||||
"niriLayoutGapsOverride": -1,
|
||||
"niriLayoutRadiusOverride": -1,
|
||||
"niriLayoutBorderSize": -1,
|
||||
"hyprlandLayoutGapsOverride": -1,
|
||||
"hyprlandLayoutRadiusOverride": -1,
|
||||
"hyprlandLayoutBorderSize": -1,
|
||||
"mangoLayoutGapsOverride": -1,
|
||||
"mangoLayoutRadiusOverride": -1,
|
||||
"mangoLayoutBorderSize": -1,
|
||||
"use24HourClock": false,
|
||||
"showSeconds": false,
|
||||
"padHours12Hour": false,
|
||||
"useFahrenheit": true,
|
||||
"windSpeedUnit": "kmh",
|
||||
"nightModeEnabled": false,
|
||||
"animationSpeed": 1,
|
||||
"customAnimationDuration": 500,
|
||||
"syncComponentAnimationSpeeds": true,
|
||||
"popoutAnimationSpeed": 1,
|
||||
"popoutCustomAnimationDuration": 150,
|
||||
"modalAnimationSpeed": 1,
|
||||
"modalCustomAnimationDuration": 150,
|
||||
"enableRippleEffects": true,
|
||||
"blurEnabled": false,
|
||||
"blurForegroundLayers": true,
|
||||
"blurLayerOutlineOpacity": 0.12,
|
||||
"blurBorderColor": "outline",
|
||||
"blurBorderCustomColor": "#ffffff",
|
||||
"blurBorderOpacity": 0.35,
|
||||
"wallpaperFillMode": "Fill",
|
||||
"blurredWallpaperLayer": false,
|
||||
"blurWallpaperOnOverview": true,
|
||||
"showLauncherButton": true,
|
||||
"showWorkspaceSwitcher": true,
|
||||
"showFocusedWindow": true,
|
||||
"showWeather": true,
|
||||
"showMusic": true,
|
||||
"showClipboard": true,
|
||||
"showCpuUsage": true,
|
||||
"showMemUsage": true,
|
||||
"showCpuTemp": true,
|
||||
"showGpuTemp": true,
|
||||
"selectedGpuIndex": 0,
|
||||
"enabledGpuPciIds": [],
|
||||
"showSystemTray": true,
|
||||
"systemTrayIconTintMode": "none",
|
||||
"systemTrayIconTintSaturation": 50,
|
||||
"systemTrayIconTintStrength": 135,
|
||||
"showClock": true,
|
||||
"showNotificationButton": true,
|
||||
"showBattery": true,
|
||||
"showControlCenterButton": true,
|
||||
"showCapsLockIndicator": true,
|
||||
"controlCenterShowNetworkIcon": true,
|
||||
"controlCenterShowBluetoothIcon": true,
|
||||
"controlCenterShowAudioIcon": true,
|
||||
"controlCenterShowAudioPercent": false,
|
||||
"controlCenterShowVpnIcon": true,
|
||||
"controlCenterShowBrightnessIcon": false,
|
||||
"controlCenterShowBrightnessPercent": false,
|
||||
"controlCenterShowMicIcon": false,
|
||||
"controlCenterShowMicPercent": true,
|
||||
"controlCenterShowBatteryIcon": false,
|
||||
"controlCenterShowPrinterIcon": false,
|
||||
"controlCenterShowScreenSharingIcon": true,
|
||||
"showPrivacyButton": true,
|
||||
"privacyShowMicIcon": false,
|
||||
"privacyShowCameraIcon": false,
|
||||
"privacyShowScreenShareIcon": false,
|
||||
"controlCenterWidgets": [
|
||||
{
|
||||
"id": "volumeSlider",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "brightnessSlider",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "wifi",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "bluetooth",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "audioOutput",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "audioInput",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "nightMode",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "darkMode",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
}
|
||||
],
|
||||
"showWorkspaceIndex": false,
|
||||
"showWorkspaceName": false,
|
||||
"showWorkspacePadding": false,
|
||||
"workspaceScrolling": false,
|
||||
"showWorkspaceApps": false,
|
||||
"workspaceDragReorder": true,
|
||||
"maxWorkspaceIcons": 3,
|
||||
"workspaceAppIconSizeOffset": 0,
|
||||
"groupWorkspaceApps": true,
|
||||
"workspaceFollowFocus": false,
|
||||
"showOccupiedWorkspacesOnly": false,
|
||||
"reverseScrolling": false,
|
||||
"dwlShowAllTags": false,
|
||||
"workspaceColorMode": "default",
|
||||
"workspaceOccupiedColorMode": "none",
|
||||
"workspaceUnfocusedColorMode": "default",
|
||||
"workspaceUrgentColorMode": "default",
|
||||
"workspaceFocusedBorderEnabled": false,
|
||||
"workspaceFocusedBorderColor": "primary",
|
||||
"workspaceFocusedBorderThickness": 2,
|
||||
"workspaceNameIcons": {},
|
||||
"waveProgressEnabled": true,
|
||||
"scrollTitleEnabled": true,
|
||||
"audioVisualizerEnabled": true,
|
||||
"audioScrollMode": "volume",
|
||||
"audioWheelScrollAmount": 5,
|
||||
"clockCompactMode": false,
|
||||
"focusedWindowCompactMode": false,
|
||||
"runningAppsCompactMode": true,
|
||||
"barMaxVisibleApps": 0,
|
||||
"barMaxVisibleRunningApps": 0,
|
||||
"barShowOverflowBadge": true,
|
||||
"appsDockHideIndicators": false,
|
||||
"appsDockColorizeActive": false,
|
||||
"appsDockActiveColorMode": "primary",
|
||||
"appsDockEnlargeOnHover": false,
|
||||
"appsDockEnlargePercentage": 125,
|
||||
"appsDockIconSizePercentage": 100,
|
||||
"keyboardLayoutNameCompactMode": false,
|
||||
"runningAppsCurrentWorkspace": true,
|
||||
"runningAppsGroupByApp": false,
|
||||
"runningAppsCurrentMonitor": false,
|
||||
"appIdSubstitutions": [],
|
||||
"centeringMode": "index",
|
||||
"clockDateFormat": "",
|
||||
"lockDateFormat": "",
|
||||
"greeterRememberLastSession": true,
|
||||
"greeterRememberLastUser": true,
|
||||
"greeterEnableFprint": false,
|
||||
"greeterEnableU2f": false,
|
||||
"greeterWallpaperPath": "",
|
||||
"mediaSize": 1,
|
||||
"appLauncherViewMode": "list",
|
||||
"spotlightModalViewMode": "list",
|
||||
"browserPickerViewMode": "grid",
|
||||
"browserUsageHistory": {},
|
||||
"appPickerViewMode": "grid",
|
||||
"filePickerUsageHistory": {},
|
||||
"sortAppsAlphabetically": false,
|
||||
"appLauncherGridColumns": 4,
|
||||
"spotlightCloseNiriOverview": true,
|
||||
"spotlightSectionViewModes": {},
|
||||
"appDrawerSectionViewModes": {},
|
||||
"niriOverviewOverlayEnabled": true,
|
||||
"dankLauncherV2Size": "compact",
|
||||
"dankLauncherV2BorderEnabled": false,
|
||||
"dankLauncherV2BorderThickness": 2,
|
||||
"dankLauncherV2BorderColor": "primary",
|
||||
"dankLauncherV2ShowFooter": true,
|
||||
"dankLauncherV2UnloadOnClose": false,
|
||||
"useAutoLocation": false,
|
||||
"weatherEnabled": true,
|
||||
"networkPreference": "ethernet",
|
||||
"iconTheme": "Papirus-Dark",
|
||||
"cursorSettings": {
|
||||
"theme": "Bibata-Modern-Classic",
|
||||
"size": 24,
|
||||
"niri": {
|
||||
"hideWhenTyping": false,
|
||||
"hideAfterInactiveMs": 0
|
||||
},
|
||||
"hyprland": {
|
||||
"hideOnKeyPress": false,
|
||||
"hideOnTouch": false,
|
||||
"inactiveTimeout": 0
|
||||
},
|
||||
"dwl": {
|
||||
"cursorHideTimeout": 0
|
||||
}
|
||||
},
|
||||
"launcherLogoMode": "os",
|
||||
"launcherLogoCustomPath": "",
|
||||
"launcherLogoColorOverride": "",
|
||||
"launcherLogoColorInvertOnMode": false,
|
||||
"launcherLogoBrightness": 0.5,
|
||||
"launcherLogoContrast": 1,
|
||||
"launcherLogoSizeOffset": 0,
|
||||
"fontFamily": "JetBrainsMono NF",
|
||||
"monoFontFamily": "JetBrainsMono Nerd Font Mono",
|
||||
"fontWeight": 400,
|
||||
"fontScale": 1,
|
||||
"notepadUseMonospace": true,
|
||||
"notepadFontFamily": "",
|
||||
"notepadFontSize": 14,
|
||||
"notepadShowLineNumbers": false,
|
||||
"notepadTransparencyOverride": -1,
|
||||
"notepadLastCustomTransparency": 0.7,
|
||||
"soundsEnabled": true,
|
||||
"useSystemSoundTheme": false,
|
||||
"soundNewNotification": true,
|
||||
"soundVolumeChanged": true,
|
||||
"soundPluggedIn": true,
|
||||
"acMonitorTimeout": 1800,
|
||||
"acLockTimeout": 0,
|
||||
"acSuspendTimeout": 0,
|
||||
"acSuspendBehavior": 0,
|
||||
"acProfileName": "",
|
||||
"batteryMonitorTimeout": 0,
|
||||
"batteryLockTimeout": 0,
|
||||
"batterySuspendTimeout": 0,
|
||||
"batterySuspendBehavior": 0,
|
||||
"batteryProfileName": "",
|
||||
"batteryChargeLimit": 100,
|
||||
"lockBeforeSuspend": true,
|
||||
"loginctlLockIntegration": true,
|
||||
"fadeToLockEnabled": true,
|
||||
"fadeToLockGracePeriod": 5,
|
||||
"fadeToDpmsEnabled": true,
|
||||
"fadeToDpmsGracePeriod": 5,
|
||||
"launchPrefix": "",
|
||||
"brightnessDevicePins": {},
|
||||
"wifiNetworkPins": {},
|
||||
"bluetoothDevicePins": {
|
||||
"preferredDevice": [
|
||||
"9C:54:1C:60:8A:4D"
|
||||
]
|
||||
},
|
||||
"audioInputDevicePins": {},
|
||||
"audioOutputDevicePins": {},
|
||||
"gtkThemingEnabled": false,
|
||||
"qtThemingEnabled": false,
|
||||
"syncModeWithPortal": true,
|
||||
"terminalsAlwaysDark": true,
|
||||
"muxType": "tmux",
|
||||
"muxUseCustomCommand": false,
|
||||
"muxCustomCommand": "",
|
||||
"muxSessionFilter": "",
|
||||
"runDmsMatugenTemplates": true,
|
||||
"matugenTemplateGtk": true,
|
||||
"matugenTemplateNiri": true,
|
||||
"matugenTemplateHyprland": true,
|
||||
"matugenTemplateMangowc": true,
|
||||
"matugenTemplateQt5ct": true,
|
||||
"matugenTemplateQt6ct": true,
|
||||
"matugenTemplateFirefox": true,
|
||||
"matugenTemplatePywalfox": true,
|
||||
"matugenTemplateZenBrowser": true,
|
||||
"matugenTemplateVesktop": true,
|
||||
"matugenTemplateEquibop": true,
|
||||
"matugenTemplateGhostty": true,
|
||||
"matugenTemplateKitty": true,
|
||||
"matugenTemplateFoot": true,
|
||||
"matugenTemplateAlacritty": true,
|
||||
"matugenTemplateNeovim": true,
|
||||
"matugenTemplateWezterm": true,
|
||||
"matugenTemplateDgop": true,
|
||||
"matugenTemplateKcolorscheme": true,
|
||||
"matugenTemplateVscode": true,
|
||||
"matugenTemplateEmacs": true,
|
||||
"matugenTemplateZed": true,
|
||||
"showDock": true,
|
||||
"dockAutoHide": false,
|
||||
"dockSmartAutoHide": false,
|
||||
"dockGroupByApp": false,
|
||||
"dockOpenOnOverview": false,
|
||||
"dockPosition": 1,
|
||||
"dockSpacing": 4,
|
||||
"dockBottomGap": -20,
|
||||
"dockMargin": 0,
|
||||
"dockIconSize": 32,
|
||||
"dockIndicatorStyle": "circle",
|
||||
"dockBorderEnabled": false,
|
||||
"dockBorderColor": "surfaceText",
|
||||
"dockBorderOpacity": 1,
|
||||
"dockBorderThickness": 1,
|
||||
"dockIsolateDisplays": false,
|
||||
"dockLauncherEnabled": false,
|
||||
"dockLauncherLogoMode": "apps",
|
||||
"dockLauncherLogoCustomPath": "",
|
||||
"dockLauncherLogoColorOverride": "",
|
||||
"dockLauncherLogoSizeOffset": 0,
|
||||
"dockLauncherLogoBrightness": 0.5,
|
||||
"dockLauncherLogoContrast": 1,
|
||||
"dockMaxVisibleApps": 0,
|
||||
"dockMaxVisibleRunningApps": 0,
|
||||
"dockShowOverflowBadge": true,
|
||||
"notificationOverlayEnabled": true,
|
||||
"notificationPopupShadowEnabled": true,
|
||||
"notificationPopupPrivacyMode": false,
|
||||
"modalDarkenBackground": true,
|
||||
"lockScreenShowPowerActions": true,
|
||||
"lockScreenShowSystemIcons": true,
|
||||
"lockScreenShowTime": true,
|
||||
"lockScreenShowDate": true,
|
||||
"lockScreenShowProfileImage": true,
|
||||
"lockScreenShowPasswordField": true,
|
||||
"lockScreenShowMediaPlayer": true,
|
||||
"lockScreenPowerOffMonitorsOnLock": false,
|
||||
"lockAtStartup": false,
|
||||
"enableFprint": false,
|
||||
"maxFprintTries": 15,
|
||||
"enableU2f": false,
|
||||
"u2fMode": "or",
|
||||
"lockScreenActiveMonitor": "all",
|
||||
"lockScreenInactiveColor": "#000000",
|
||||
"lockScreenNotificationMode": 0,
|
||||
"hideBrightnessSlider": false,
|
||||
"notificationTimeoutLow": 5000,
|
||||
"notificationTimeoutNormal": 5000,
|
||||
"notificationTimeoutCritical": 0,
|
||||
"notificationCompactMode": false,
|
||||
"notificationPopupPosition": 0,
|
||||
"notificationAnimationSpeed": 1,
|
||||
"notificationCustomAnimationDuration": 400,
|
||||
"notificationHistoryEnabled": true,
|
||||
"notificationHistoryMaxCount": 50,
|
||||
"notificationHistoryMaxAgeDays": 7,
|
||||
"notificationHistorySaveLow": true,
|
||||
"notificationHistorySaveNormal": true,
|
||||
"notificationHistorySaveCritical": true,
|
||||
"notificationRules": [],
|
||||
"osdAlwaysShowValue": false,
|
||||
"osdPosition": 5,
|
||||
"osdVolumeEnabled": true,
|
||||
"osdMediaVolumeEnabled": true,
|
||||
"osdMediaPlaybackEnabled": false,
|
||||
"osdBrightnessEnabled": true,
|
||||
"osdIdleInhibitorEnabled": true,
|
||||
"osdMicMuteEnabled": true,
|
||||
"osdCapsLockEnabled": true,
|
||||
"osdPowerProfileEnabled": true,
|
||||
"osdAudioOutputEnabled": true,
|
||||
"powerActionConfirm": true,
|
||||
"powerActionHoldDuration": 0.5,
|
||||
"powerMenuActions": [
|
||||
"reboot",
|
||||
"logout",
|
||||
"poweroff",
|
||||
"lock",
|
||||
"suspend",
|
||||
"restart"
|
||||
],
|
||||
"powerMenuDefaultAction": "suspend",
|
||||
"powerMenuGridLayout": false,
|
||||
"customPowerActionLock": "",
|
||||
"customPowerActionLogout": "",
|
||||
"customPowerActionSuspend": "",
|
||||
"customPowerActionHibernate": "",
|
||||
"customPowerActionReboot": "",
|
||||
"customPowerActionPowerOff": "",
|
||||
"updaterHideWidget": false,
|
||||
"updaterUseCustomCommand": false,
|
||||
"updaterCustomCommand": "",
|
||||
"updaterTerminalAdditionalParams": "",
|
||||
"displayNameMode": "system",
|
||||
"screenPreferences": {},
|
||||
"showOnLastDisplay": {},
|
||||
"niriOutputSettings": {},
|
||||
"hyprlandOutputSettings": {},
|
||||
"displayProfiles": {},
|
||||
"activeDisplayProfile": {},
|
||||
"displayProfileAutoSelect": false,
|
||||
"displayShowDisconnected": false,
|
||||
"displaySnapToEdge": true,
|
||||
"barConfigs": [
|
||||
{
|
||||
"id": "default",
|
||||
"name": "Main Bar",
|
||||
"enabled": true,
|
||||
"position": 0,
|
||||
"screenPreferences": [
|
||||
"all"
|
||||
],
|
||||
"showOnLastDisplay": true,
|
||||
"leftWidgets": [
|
||||
"launcherButton",
|
||||
"workspaceSwitcher",
|
||||
"focusedWindow"
|
||||
],
|
||||
"centerWidgets": [
|
||||
"music",
|
||||
"clock",
|
||||
"weather"
|
||||
],
|
||||
"rightWidgets": [
|
||||
"systemTray",
|
||||
"clipboard",
|
||||
"cpuUsage",
|
||||
"memUsage",
|
||||
"notificationButton",
|
||||
"battery",
|
||||
"controlCenterButton",
|
||||
{
|
||||
"id": "idleInhibitor",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"spacing": 4,
|
||||
"innerPadding": 4,
|
||||
"bottomGap": 0,
|
||||
"transparency": 1,
|
||||
"widgetTransparency": 1,
|
||||
"squareCorners": false,
|
||||
"noBackground": false,
|
||||
"maximizeWidgetIcons": false,
|
||||
"maximizeWidgetText": false,
|
||||
"removeWidgetPadding": false,
|
||||
"widgetPadding": 8,
|
||||
"gothCornersEnabled": false,
|
||||
"gothCornerRadiusOverride": false,
|
||||
"gothCornerRadiusValue": 12,
|
||||
"borderEnabled": false,
|
||||
"borderColor": "surfaceText",
|
||||
"borderOpacity": 1,
|
||||
"borderThickness": 1,
|
||||
"widgetOutlineEnabled": false,
|
||||
"widgetOutlineColor": "primary",
|
||||
"widgetOutlineOpacity": 1,
|
||||
"widgetOutlineThickness": 1,
|
||||
"fontScale": 1,
|
||||
"iconScale": 1,
|
||||
"autoHide": false,
|
||||
"autoHideDelay": 250,
|
||||
"showOnWindowsOpen": false,
|
||||
"openOnOverview": false,
|
||||
"visible": true,
|
||||
"popupGapsAuto": true,
|
||||
"popupGapsManual": 4,
|
||||
"maximizeDetection": true,
|
||||
"scrollEnabled": true,
|
||||
"scrollXBehavior": "none",
|
||||
"scrollYBehavior": "none",
|
||||
"shadowIntensity": 0,
|
||||
"shadowOpacity": 60,
|
||||
"shadowColorMode": "text",
|
||||
"shadowCustomColor": "#000000",
|
||||
"clickThrough": false
|
||||
}
|
||||
],
|
||||
"desktopClockEnabled": false,
|
||||
"desktopClockStyle": "analog",
|
||||
"desktopClockTransparency": 0.8,
|
||||
"desktopClockColorMode": "primary",
|
||||
"desktopClockCustomColor": {
|
||||
"r": 1,
|
||||
"g": 1,
|
||||
"b": 1,
|
||||
"a": 1,
|
||||
"hsvHue": -1,
|
||||
"hsvSaturation": 0,
|
||||
"hsvValue": 1,
|
||||
"hslHue": -1,
|
||||
"hslSaturation": 0,
|
||||
"hslLightness": 1,
|
||||
"valid": true
|
||||
},
|
||||
"desktopClockShowDate": true,
|
||||
"desktopClockShowAnalogNumbers": false,
|
||||
"desktopClockShowAnalogSeconds": true,
|
||||
"desktopClockX": -1,
|
||||
"desktopClockY": -1,
|
||||
"desktopClockWidth": 280,
|
||||
"desktopClockHeight": 180,
|
||||
"desktopClockDisplayPreferences": [
|
||||
"all"
|
||||
],
|
||||
"systemMonitorEnabled": false,
|
||||
"systemMonitorShowHeader": true,
|
||||
"systemMonitorTransparency": 0.8,
|
||||
"systemMonitorColorMode": "primary",
|
||||
"systemMonitorCustomColor": {
|
||||
"r": 1,
|
||||
"g": 1,
|
||||
"b": 1,
|
||||
"a": 1,
|
||||
"hsvHue": -1,
|
||||
"hsvSaturation": 0,
|
||||
"hsvValue": 1,
|
||||
"hslHue": -1,
|
||||
"hslSaturation": 0,
|
||||
"hslLightness": 1,
|
||||
"valid": true
|
||||
},
|
||||
"systemMonitorShowCpu": true,
|
||||
"systemMonitorShowCpuGraph": true,
|
||||
"systemMonitorShowCpuTemp": true,
|
||||
"systemMonitorShowGpuTemp": false,
|
||||
"systemMonitorGpuPciId": "",
|
||||
"systemMonitorShowMemory": true,
|
||||
"systemMonitorShowMemoryGraph": true,
|
||||
"systemMonitorShowNetwork": true,
|
||||
"systemMonitorShowNetworkGraph": true,
|
||||
"systemMonitorShowDisk": true,
|
||||
"systemMonitorShowTopProcesses": false,
|
||||
"systemMonitorTopProcessCount": 3,
|
||||
"systemMonitorTopProcessSortBy": "cpu",
|
||||
"systemMonitorGraphInterval": 60,
|
||||
"systemMonitorLayoutMode": "auto",
|
||||
"systemMonitorX": -1,
|
||||
"systemMonitorY": -1,
|
||||
"systemMonitorWidth": 320,
|
||||
"systemMonitorHeight": 480,
|
||||
"systemMonitorDisplayPreferences": [
|
||||
"all"
|
||||
],
|
||||
"systemMonitorVariants": [],
|
||||
"desktopWidgetPositions": {},
|
||||
"desktopWidgetGridSettings": {},
|
||||
"desktopWidgetInstances": [],
|
||||
"desktopWidgetGroups": [],
|
||||
"builtInPluginSettings": {
|
||||
"dms_settings_search": {
|
||||
"trigger": "?"
|
||||
}
|
||||
},
|
||||
"clipboardEnterToPaste": false,
|
||||
"launcherPluginVisibility": {},
|
||||
"launcherPluginOrder": [],
|
||||
"configVersion": 5
|
||||
}
|
||||
10722
home-manager/files/nerdfont.csv
Executable file
393
home-manager/files/niri/config.kdl
Normal file
|
|
@ -0,0 +1,393 @@
|
|||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
}
|
||||
numlock
|
||||
}
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
mouse {
|
||||
accel-speed 1.0
|
||||
}
|
||||
trackpoint {
|
||||
}
|
||||
}
|
||||
cursor {
|
||||
xcursor-theme "Bibata-Modern-Classic"
|
||||
xcursor-size 24
|
||||
}
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
}
|
||||
layout {
|
||||
gaps 16
|
||||
background-color "transparent"
|
||||
center-focused-column "never"
|
||||
always-center-single-column
|
||||
preset-column-widths {
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
}
|
||||
default-column-width { proportion 0.5; }
|
||||
focus-ring {
|
||||
//off
|
||||
width 4
|
||||
active-color "#7fc8ff"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
border {
|
||||
off
|
||||
width 4
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
urgent-color "#9b0000"
|
||||
}
|
||||
shadow {
|
||||
//on
|
||||
//draw-behind-window true
|
||||
softness 30
|
||||
spread 5
|
||||
offset x=0 y=5
|
||||
color "#0007"
|
||||
}
|
||||
struts {
|
||||
}
|
||||
}
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
prefer-no-csd
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
//animations {
|
||||
// off
|
||||
// slowdown 3.0
|
||||
//}
|
||||
animations {
|
||||
window-close {
|
||||
duration-ms 600
|
||||
curve "ease-out-quad"
|
||||
|
||||
custom-shader r"
|
||||
float hash21(vec2 p) {
|
||||
return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
|
||||
}
|
||||
|
||||
float value_noise(vec2 p) {
|
||||
vec2 i = floor(p);
|
||||
vec2 f = fract(p);
|
||||
vec2 u = f * f * (3.0 - 2.0 * f);
|
||||
return mix(
|
||||
mix(hash21(i), hash21(i + vec2(1.0, 0.0)), u.x),
|
||||
mix(hash21(i + vec2(0.0, 1.0)), hash21(i + vec2(1.0, 1.0)), u.x),
|
||||
u.y
|
||||
);
|
||||
}
|
||||
|
||||
float fbm(vec2 p) {
|
||||
float v = 0.0;
|
||||
float amp = 0.5;
|
||||
float freq = 1.0;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
v += amp * value_noise(p * freq);
|
||||
freq *= 2.0;
|
||||
amp *= 0.5;
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
vec4 close_color(vec3 coords_geo, vec3 size_geo) {
|
||||
vec2 uv = coords_geo.xy;
|
||||
float p = niri_clamped_progress;
|
||||
float seed = niri_random_seed * 100.0;
|
||||
|
||||
// Distance from nearest edge of window rect
|
||||
float dx = min(uv.x, 1.0 - uv.x);
|
||||
float dy = min(uv.y, 1.0 - uv.y);
|
||||
float edge_dist = min(dx, dy);
|
||||
|
||||
// Noise-driven edge erosion: breaks the box shape
|
||||
float edge_noise = fbm((uv + seed) * 8.0 * 1.5);
|
||||
float erode = p * 0.80;
|
||||
float edge_threshold = edge_noise * erode;
|
||||
float edge_alpha = smoothstep(edge_threshold - 0.02, edge_threshold + 0.02, edge_dist);
|
||||
|
||||
// Skip pixels far outside eroded boundary
|
||||
if (edge_dist < -0.15) {
|
||||
return vec4(0.0);
|
||||
}
|
||||
|
||||
// Wobble the window content
|
||||
vec2 np = (uv + seed) * 8.0;
|
||||
float wx = fbm(np + vec2(17.3, 0.0)) - 0.5;
|
||||
float wy = fbm(np + vec2(0.0, 43.1)) - 0.5;
|
||||
|
||||
vec3 warped = coords_geo;
|
||||
warped.x += wx * 0.080 * p;
|
||||
warped.y += wy * 0.080 * p;
|
||||
|
||||
vec3 tex_coords = niri_geo_to_tex * warped;
|
||||
vec4 color = texture2D(niri_tex, tex_coords.st);
|
||||
|
||||
// Overall fade
|
||||
float alpha = edge_alpha * (1.0 - p * p);
|
||||
alpha = clamp(alpha, 0.0, 1.0);
|
||||
|
||||
// Warm glow at dissolving edges
|
||||
float glow = smoothstep(edge_threshold - 0.04, edge_threshold, edge_dist)
|
||||
* (1.0 - smoothstep(edge_threshold, edge_threshold + 0.04, edge_dist));
|
||||
glow *= (1.0 - p) * 0.6;
|
||||
color.rgb += vec3(0.3, 0.18, 0.06) * glow;
|
||||
|
||||
return color * alpha;
|
||||
}
|
||||
"
|
||||
}
|
||||
window-open {
|
||||
duration-ms 600
|
||||
curve "ease-out-expo"
|
||||
|
||||
custom-shader r"
|
||||
float hash21(vec2 p) {
|
||||
return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
|
||||
}
|
||||
|
||||
float value_noise(vec2 p) {
|
||||
vec2 i = floor(p);
|
||||
vec2 f = fract(p);
|
||||
vec2 u = f * f * (3.0 - 2.0 * f);
|
||||
return mix(
|
||||
mix(hash21(i), hash21(i + vec2(1.0, 0.0)), u.x),
|
||||
mix(hash21(i + vec2(0.0, 1.0)), hash21(i + vec2(1.0, 1.0)), u.x),
|
||||
u.y
|
||||
);
|
||||
}
|
||||
|
||||
float fbm(vec2 p) {
|
||||
float v = 0.0;
|
||||
float amp = 0.5;
|
||||
float freq = 1.0;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
v += amp * value_noise(p * freq);
|
||||
freq *= 2.0;
|
||||
amp *= 0.5;
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
vec4 open_color(vec3 coords_geo, vec3 size_geo) {
|
||||
vec2 uv = coords_geo.xy;
|
||||
float p = 1.0 - niri_clamped_progress;
|
||||
float seed = niri_random_seed * 100.0;
|
||||
|
||||
// Distance from nearest edge of window rect
|
||||
float dx = min(uv.x, 1.0 - uv.x);
|
||||
float dy = min(uv.y, 1.0 - uv.y);
|
||||
float edge_dist = min(dx, dy);
|
||||
|
||||
// Noise-driven edge erosion: breaks the box shape
|
||||
float edge_noise = fbm((uv + seed) * 8.0 * 1.5);
|
||||
float erode = p * 0.80;
|
||||
float edge_threshold = edge_noise * erode;
|
||||
float edge_alpha = smoothstep(edge_threshold - 0.02, edge_threshold + 0.02, edge_dist);
|
||||
|
||||
// Skip pixels far outside eroded boundary
|
||||
if (edge_dist < -0.15) {
|
||||
return vec4(0.0);
|
||||
}
|
||||
|
||||
// Wobble the window content
|
||||
vec2 np = (uv + seed) * 8.0;
|
||||
float wx = fbm(np + vec2(17.3, 0.0)) - 0.5;
|
||||
float wy = fbm(np + vec2(0.0, 43.1)) - 0.5;
|
||||
|
||||
vec3 warped = coords_geo;
|
||||
warped.x += wx * 0.080 * p;
|
||||
warped.y += wy * 0.080 * p;
|
||||
|
||||
vec3 tex_coords = niri_geo_to_tex * warped;
|
||||
vec4 color = texture2D(niri_tex, tex_coords.st);
|
||||
|
||||
// Overall fade
|
||||
float alpha = edge_alpha * (1.0 - p * p);
|
||||
alpha = clamp(alpha, 0.0, 1.0);
|
||||
|
||||
// Warm glow at dissolving edges
|
||||
float glow = smoothstep(edge_threshold - 0.04, edge_threshold, edge_dist)
|
||||
* (1.0 - smoothstep(edge_threshold, edge_threshold + 0.04, edge_dist));
|
||||
glow *= (1.0 - p) * 0.6;
|
||||
color.rgb += vec3(0.3, 0.18, 0.06) * glow;
|
||||
|
||||
return color * alpha;
|
||||
}
|
||||
"
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
geometry-corner-radius 8
|
||||
clip-to-geometry true
|
||||
}
|
||||
window-rule {
|
||||
match app-id=r#"org.quickshell$"#
|
||||
open-floating true
|
||||
}
|
||||
window-rule {
|
||||
match app-id="org.gnome.Calculator"
|
||||
open-floating true
|
||||
}
|
||||
window-rule {
|
||||
match app-id="mpv"
|
||||
open-floating true
|
||||
default-floating-position x=0 y=32 relative-to="bottom"
|
||||
}
|
||||
window-rule {
|
||||
match app-id="^ghostty$"
|
||||
opacity 0.8
|
||||
background-effect {
|
||||
blur true
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
draw-border-with-background false
|
||||
}
|
||||
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
|
||||
// spawn-at-startup "waybar"
|
||||
binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
Mod+Alt+P hotkey-overlay-title="Open Power Menu" { spawn "dms" "ipc" "call" "powermenu" "toggle"; }
|
||||
Mod+Alt+I hotkey-overlay-title="Toggle Idle Inhibitoer" { spawn "dms" "ipc" "call" "inhibit" "toggle"; }
|
||||
Mod+Q hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
|
||||
Mod+Space hotkey-overlay-title="Run an Application: dank launcher" { spawn "dms" "ipc" "call" "launcher" "toggle"; }
|
||||
//Mod+Space hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
||||
Mod+W hotkey-overlay-title="Open a Web browser: vivaldi" { spawn "vivaldi"; }
|
||||
Mod+E hotkey-overlay-title="Open File browser: nautilus" { spawn "nautilus"; }
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
||||
Mod+Alt+WheelScrollUp { spawn "dms" "ipc" "call" "audio" "increment" "5"; }
|
||||
Mod+Alt+WheelScrollDown { spawn "dms" "ipc" "call" "audio" "decrement" "5"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
||||
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
||||
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
Mod+Escape repeat=false { close-window; }
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Ctrl+H { move-column-left; }
|
||||
Mod+Ctrl+J { move-window-down; }
|
||||
Mod+Ctrl+K { move-window-up; }
|
||||
Mod+Ctrl+L { move-column-right; }
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Shift+H { focus-monitor-left; }
|
||||
Mod+Shift+J { focus-monitor-down; }
|
||||
Mod+Shift+K { focus-monitor-up; }
|
||||
Mod+Shift+L { focus-monitor-right; }
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+U { focus-workspace-down; }
|
||||
Mod+I { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+U { move-workspace-down; }
|
||||
Mod+Shift+I { move-workspace-up; }
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
Mod+Period { expel-window-from-column; }
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
Mod+C { center-column; }
|
||||
Mod+Ctrl+C { center-visible-columns; }
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
//Mod+V { toggle-window-floating; }
|
||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||
Mod+Shift+W { toggle-column-tabbed-display; }
|
||||
Shift+Alt+R { screenshot; }
|
||||
Shift+Alt+S { screenshot-screen; }
|
||||
Shift+Alt+W { screenshot-window; }
|
||||
Mod+Shift+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
Mod+Shift+E { quit; }
|
||||
Ctrl+Alt+Delete { quit; }
|
||||
Mod+Shift+P { power-off-monitors; }
|
||||
}
|
||||
include "dms/binds.kdl"
|
||||
|
||||
include "dms/outputs.kdl"
|
||||
|
||||
include "dms/windowrules.kdl"
|
||||
|
||||
include "dms/cursor.kdl"
|
||||
10
home-manager/files/niri/dms/alttab.kdl
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// ! DO NOT EDIT !
|
||||
// ! AUTO-GENERATED BY DMS !
|
||||
// ! CHANGES WILL BE OVERWRITTEN !
|
||||
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
|
||||
|
||||
recent-windows {
|
||||
highlight {
|
||||
corner-radius 12
|
||||
}
|
||||
}
|
||||
0
home-manager/files/niri/dms/binds.kdl
Normal file
9
home-manager/files/niri/dms/cursor.kdl
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// ! DO NOT EDIT !
|
||||
// ! AUTO-GENERATED BY DMS !
|
||||
// ! CHANGES WILL BE OVERWRITTEN !
|
||||
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
|
||||
|
||||
cursor {
|
||||
xcursor-theme "Bibata-Modern-Classic"
|
||||
xcursor-size 24
|
||||
}
|
||||
22
home-manager/files/niri/dms/layout.kdl
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// ! DO NOT EDIT !
|
||||
// ! AUTO-GENERATED BY DMS !
|
||||
// ! CHANGES WILL BE OVERWRITTEN !
|
||||
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
|
||||
|
||||
layout {
|
||||
gaps 4
|
||||
|
||||
border {
|
||||
width 2
|
||||
}
|
||||
|
||||
focus-ring {
|
||||
width 2
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
geometry-corner-radius 12
|
||||
clip-to-geometry true
|
||||
tiled-state true
|
||||
draw-border-with-background false
|
||||
}
|
||||
0
home-manager/files/niri/dms/outputs.kdl
Normal file
0
home-manager/files/niri/dms/windowrules.kdl
Normal file
9
home-manager/files/niri/dms/wpblur.kdl
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// ! DO NOT EDIT !
|
||||
// ! AUTO-GENERATED BY DMS !
|
||||
// ! CHANGES WILL BE OVERWRITTEN !
|
||||
// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE !
|
||||
|
||||
layer-rule {
|
||||
match namespace="dms:blurwallpaper"
|
||||
place-within-backdrop true
|
||||
}
|
||||
2
home-manager/files/ssh/config
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
Host *
|
||||
SetEnv TERM=xterm-256color
|
||||
8
home-manager/files/ssh/id_ed25519
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABA2xrdF06
|
||||
FzXtwjxqZoFO/8AAAAGAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIMvOXXwkL3BR+pNX
|
||||
XEj1x7MiVpvCH0B3gKz/ZwuN+34VAAAAsIGyFyWBvRTZmWmcRi2febVfy2Zr/pPiR7Lr8l
|
||||
NVXLMPzxx7svkJvCD+A2S9jnI9lhgUsiEQKhG/5UsvjFVdrN7s/eICqd8dv5bxvp8y8Mrj
|
||||
9xp6pkruJBimAFdSsJKWrvnoPLU7vxm8cANBMSf9znR7eBoEcw6blKXbUx9UIQWBqt+ccq
|
||||
eLnFxNKWBhUI47Yu2sO8DV7/Zk2syklInKBz1tMP1cpIQgqCG6utJNWIZj
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
1
home-manager/files/ssh/id_ed25519.pub
Normal file
|
|
@ -0,0 +1 @@
|
|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMvOXXwkL3BR+pNXXEj1x7MiVpvCH0B3gKz/ZwuN+34V warrentyexpired@damagedProperty
|
||||
12
home-manager/files/tmuxinator.yml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
name: Workspace
|
||||
root: ~/
|
||||
windows:
|
||||
- setup:
|
||||
layout: main-horizontal
|
||||
options:
|
||||
main-pane-height: 90%
|
||||
panes:
|
||||
- Dev:
|
||||
- clear
|
||||
- Main:
|
||||
- clear
|
||||
31
home-manager/flake.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
description = "Home Manager configuration of warrentyexpired";
|
||||
|
||||
inputs = {
|
||||
# Specify the source of Home Manager and Nixpkgs.
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
homeConfigurations."warrentyexpired" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [ ./home.nix ];
|
||||
|
||||
# Optionally use extraSpecialArgs
|
||||
# to pass through arguments to home.nix
|
||||
};
|
||||
};
|
||||
}
|
||||
112
home-manager/home.nix
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./modules/fastfetch.nix
|
||||
./modules/fuzzel.nix
|
||||
./modules/tmux.nix
|
||||
./modules/fish.nix
|
||||
./modules/ghostty.nix
|
||||
./modules/nvim
|
||||
./modules/scripts.nix
|
||||
];
|
||||
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "warrentyexpired";
|
||||
home.homeDirectory = "/home/warrentyexpired";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.11"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs; [
|
||||
papirus-icon-theme
|
||||
adwaita-icon-theme
|
||||
bibata-cursors
|
||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||
# # "Hello, world!" when run.
|
||||
# pkgs.hello
|
||||
|
||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||
# # overrides. You can do that directly here, just don't forget the
|
||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||
# # fonts?
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
|
||||
# # You can also create simple shell scripts directly inside your
|
||||
# # configuration. For example, this adds a command 'my-hello' to your
|
||||
# # environment:
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
home.file = {
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
"./Pictures/Wallpapers" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/NixOS/home-manager/files/Wallpapers";
|
||||
recursive = true;
|
||||
};
|
||||
"./.ssh" = {
|
||||
#source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/NixOS/home-manager/files/ssh";
|
||||
source = ./files/ssh;
|
||||
recursive = true;
|
||||
};
|
||||
"./.config/tmuxinator/Workspace.yml" = {
|
||||
source = ./files/tmuxinator.yml;
|
||||
};
|
||||
"./.bashrc" = {
|
||||
source = ./files/bashrc;
|
||||
};
|
||||
"./.config/niri" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/NixOS/home-manager/files/niri";
|
||||
recursive = true;
|
||||
};
|
||||
"./.config/DankMaterialShell" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/NixOS/home-manager/files/dms";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
||||
# shell provided by Home Manager. If you don't want to manage your shell
|
||||
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
||||
# located at either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/warrentyexpired/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
home.sessionVariables = {
|
||||
# EDITOR = "emacs";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
107
home-manager/modules/fastfetch.nix
Executable file
|
|
@ -0,0 +1,107 @@
|
|||
{ config, pkgs, ... }: {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
display = {
|
||||
separator = " -> ";
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#90}╭─────────────────────────────────────────────────╮";
|
||||
}
|
||||
{ type = "title"; }
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#90}╰─────────────────────────────────────────────────╯";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#90}╭─────────────────────────────────────────────────┐";
|
||||
}
|
||||
# OS and Software Info
|
||||
{
|
||||
type = "os";
|
||||
key = " OS";
|
||||
format = "{pretty-name}";
|
||||
keyColor = "36";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = "│ ├ Kernel";
|
||||
keyColor = "36";
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = "│ ├ Uptime";
|
||||
keyColor = "36";
|
||||
}
|
||||
{
|
||||
type = "packages";
|
||||
key = "│ ├ Packages";
|
||||
keyColor = "36";
|
||||
}
|
||||
{
|
||||
type = "shell";
|
||||
key = "│ ├ Shell";
|
||||
keyColor = "36";
|
||||
}
|
||||
{
|
||||
type = "wm";
|
||||
key = "│ ├ WM";
|
||||
keyColor = "36";
|
||||
}
|
||||
{
|
||||
type = "terminal";
|
||||
key = "│ └ Terminal";
|
||||
keyColor = "36";
|
||||
}
|
||||
# Hardware Info
|
||||
{
|
||||
type = "host";
|
||||
key = " PC";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "cpu";
|
||||
key = "│ ├ CPU";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "gpu";
|
||||
key = "│ ├ GPU";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = "│ ├ Disk";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "memory";
|
||||
key = "│ ├ RAM";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "swap";
|
||||
key = "│ ├ Swap";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "display";
|
||||
key = "│ └ Monitor";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#90}╰─────────────────────────────────────────────────╯";
|
||||
}
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#90}╰─────────{#90} {#31} {#32} {#33} {#34} {#35} {#36} {#37} {#38} {#39} {#90} ─────────╯";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
289
home-manager/modules/fish.nix
Executable file
|
|
@ -0,0 +1,289 @@
|
|||
{ config, pkgs, ... }: {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting ""
|
||||
set -gx DOTNET_ROOT $HOME/.dotnet
|
||||
fish_add_path $DOTNET_ROOT
|
||||
fish_add_path $DOTNET_ROOT/tools
|
||||
set -gx DOTNET_SYSTEM_NET_DISABLEIPV6 1
|
||||
bind \cd\cd\cd delete-or-exit
|
||||
bind \cf 'ts; commandline -f repaint'
|
||||
if type -q eza
|
||||
alias ls='eza --color=always --group-directories-first --icons'
|
||||
alias ll='eza -a --color=always --group-directories-first --icons'
|
||||
alias la='eza -al --group-directories-first --icons'
|
||||
alias lt='eza -aT --level=2 --group-directories-first --icons'
|
||||
alias l.='eza -ad .* --group-directories-first --icons'
|
||||
else
|
||||
printf "You may want to install eza\n"
|
||||
end
|
||||
if not set -q TMUX
|
||||
tmux attach-session -t Main 2>/dev/null; or tmux new-session -s Main
|
||||
end
|
||||
'';
|
||||
shellAliases = {
|
||||
rebuild = "sudo nixos-rebuild switch --flake $HOME/NixOS#damagedProperty";
|
||||
hms = "home-manager switch";
|
||||
sshavatar = "ssh warrentyexpired@192.168.88.111";
|
||||
sshvaultnas = "ssh warrentyexpired@192.168.88.100";
|
||||
sshservarr = "ssh warrentyexpired@192.168.88.101";
|
||||
sshdocker = "ssh warrentyexpired@192.168.88.102";
|
||||
sshlive = "ssh mementoadmin@uo-memento.com";
|
||||
sshproxy = "ssh warrentyexpired@192.168.88.200";
|
||||
stff = "mpv --autofit=10%";
|
||||
s = "goto s";
|
||||
g = "goto g";
|
||||
l = "goto l";
|
||||
mv = "mv -i --backup=t";
|
||||
cat = "bat";
|
||||
};
|
||||
shellAbbrs = {
|
||||
sshracknerd = ''mosh -p 60001 192.227.229.130 --ssh="ssh -p 5522"'';
|
||||
};
|
||||
functions = {
|
||||
ts = {
|
||||
description = "Tmux session manager with fuzzy search and quick jump";
|
||||
body = ''
|
||||
echo -e ""
|
||||
# 1. Show Active Sessions
|
||||
set -l active_sessions (tmux list-sessions 2>/dev/null)
|
||||
if test -n "$active_sessions"
|
||||
echo -e (set_color 99ff99)" Active Sessions:"(set_color normal)
|
||||
for line in $active_sessions
|
||||
echo -e " $line"
|
||||
end
|
||||
echo ""
|
||||
else
|
||||
echo -e (set_color 555555)"(No active sessions)"(set_color normal)
|
||||
echo ""
|
||||
end
|
||||
# 2. Provide choices
|
||||
echo -e (set_color 00afaf)" Select an option:"(set_color normal)
|
||||
echo -e " [1] Pick from active sessions (Fuzzy search)"
|
||||
echo -e " [2] Create NEW custom session"
|
||||
echo -e " [w] Enter Tmuxinator Workspaces"
|
||||
echo -e " [d] Detach from current session"
|
||||
echo -e " [x] Kill a session"
|
||||
echo -e " [Enter] Quick jump to "(set_color -o)"Main"(set_color normal)
|
||||
echo ""
|
||||
read -l -P "Choice > " choice
|
||||
switch "$choice"
|
||||
case 1
|
||||
set -l session (tmux list-sessions -F "#{session_name}" 2>/dev/null | fzf --exit-0 --height=15% --reverse --header="Select Session")
|
||||
if test -n "$session"
|
||||
if set -q TMUX
|
||||
tmux switch-client -t "$session"
|
||||
else
|
||||
tmux attach-session -t "$session"
|
||||
end
|
||||
end
|
||||
case 2
|
||||
read -l -P "Enter name for new session: " new_name
|
||||
if test -n "$new_name"
|
||||
env -u TMUX tmux new-session -d -s "$new_name" 2>/dev/null
|
||||
if set -q TMUX
|
||||
tmux switch-client -t "$new_name"
|
||||
else
|
||||
tmux attach-session -t "$new_name"
|
||||
end
|
||||
end
|
||||
case d D
|
||||
if set -q TMUX; tmux detach-client; else; echo "You aren't in a tmux session!"; end
|
||||
case w W
|
||||
if type -q tmuxinator
|
||||
tmuxinator start Workspace
|
||||
else
|
||||
echo (set_color red)"Error: tmuxinator is not installed."(set_color normal)
|
||||
end
|
||||
case x X
|
||||
set -l session (tmux list-sessions -F "#{session_name}" 2>/dev/null | fzf --exit-0 --height=15% --reverse --header="Select Session to KILL")
|
||||
if test -n "$session"
|
||||
tmux kill-session -t "$session"
|
||||
echo "Killed session: $session"
|
||||
ts
|
||||
end
|
||||
case "" "*"
|
||||
env -u TMUX tmux new-session -d -s Main 2>/dev/null
|
||||
if set -q TMUX; tmux switch-client -t Main; else; tmux attach-session -t Main; end
|
||||
end
|
||||
commandline -f repaint
|
||||
'';
|
||||
};
|
||||
lookfor = {
|
||||
description = "Lookfor (d)irectory, (f)ile (a)ll (pattern)";
|
||||
body = ''
|
||||
if test (count $argv) -lt 2
|
||||
echo "Usage: lookfor (f)ile|(d)irectory|(a)ll "pattern""
|
||||
return 1
|
||||
end
|
||||
set -l type_flag $argv[1]
|
||||
set -l pattern $argv[2]
|
||||
switch $type_flag
|
||||
case f
|
||||
find . -type f -name "*$pattern*" 2>/dev/null
|
||||
case d
|
||||
find . -type d -name "*$pattern*" 2>/dev/null
|
||||
case a
|
||||
find . -name "*$pattern*" 2>/dev/null
|
||||
case *
|
||||
echo "Invalid type: $type_flag. Use f for file or d for directory."
|
||||
return 1
|
||||
end
|
||||
'';
|
||||
};
|
||||
topsort = {
|
||||
description = "Sort files large to small.";
|
||||
body = ''
|
||||
du -sh * | sort -rh | head -10
|
||||
'';
|
||||
};
|
||||
fish_prompt = {
|
||||
body = ''
|
||||
set -l white (set_color white)
|
||||
set -l brwhite (set_color brwhite)
|
||||
set -l green (set_color green)
|
||||
set -l red (set_color red)
|
||||
set -l blue (set_color blue)
|
||||
# Line 1: ┌─ [user] @ [host] - homeFiles status
|
||||
echo -s $white"┌─ ["$green$USER$white"] "$brwhite"@ " $white"["$red$hostname$white"]"
|
||||
# Line 2: └─ [directory]
|
||||
set -l full_path (string replace -r "^$HOME" "~" $PWD)
|
||||
echo -s $white"├─ ["$blue$full_path$white"]"
|
||||
# Line 3: └─ [(git_branch)] or [$e]
|
||||
echo -n $white"└─ ["
|
||||
set -l git_info (gitinfo 2>/dev/null)
|
||||
if test -n "$git_info"
|
||||
echo -n $git_info
|
||||
else
|
||||
echo -n $brwhite"\$"
|
||||
end
|
||||
echo -n $white"]"
|
||||
# Final prompt symbol and reset
|
||||
echo -n $brwhite" "
|
||||
set_color normal
|
||||
'';
|
||||
};
|
||||
gitinfo = {
|
||||
body = ''
|
||||
if git rev-parse --is-inside-work-tree >/dev/null 2>&1
|
||||
set -l branch (git branch --show-current)
|
||||
set -l staged ""
|
||||
set -l dirty ""
|
||||
set -l untracked ""
|
||||
if not git diff --quiet
|
||||
set dirty (set_color yellow)"*"
|
||||
end
|
||||
if not git diff --cached --quiet
|
||||
set staged (set_color green)"+"
|
||||
end
|
||||
set -l untracked_files (git ls-files --others --exclude-standard)
|
||||
if test -n "$untracked_files"
|
||||
set untracked (set_color red)" *"
|
||||
end
|
||||
echo (set_color magenta)"($branch)"$staged$dirty$untracked(set_color normal)
|
||||
end
|
||||
'';
|
||||
};
|
||||
cdtmp = {
|
||||
body = ''
|
||||
set -l directory
|
||||
if set -q argv[1]
|
||||
set -l folder_name (string replace -all / _ $argv[1])
|
||||
set directory "/var/tmp/cdtmp.$folder_name"
|
||||
mkdir -p "$directory"
|
||||
else
|
||||
set directory (mktemp -d --tmpdir=/var/tmp cdtmp.XXXXXXXX)
|
||||
end
|
||||
if test -d "$directory"
|
||||
cd "$directory"
|
||||
end
|
||||
'';
|
||||
};
|
||||
stffpl = {
|
||||
body = ''
|
||||
mpv --autofit=10% --playlist="$argv[1]"
|
||||
'';
|
||||
};
|
||||
mkcd = {
|
||||
body = ''
|
||||
mkdir -p $argv
|
||||
and cd $argv[-1]
|
||||
'';
|
||||
};
|
||||
goto = {
|
||||
body = ''
|
||||
set -l gotoConfig "$HOME/.config/goto/bookmarks"
|
||||
set -l gotoDir "$HOME/.config/goto"
|
||||
mkdir -p "$gotoDir"
|
||||
touch "$gotoConfig"
|
||||
set -l command $argv[1]
|
||||
set -l bookmark_name $argv[2]
|
||||
if test -z "$command"
|
||||
echo "Usage: goto s <name> (save current directory)"
|
||||
echo " goto g <name> (go to saved directory)"
|
||||
echo " goto d <name> (delete a bookmark)"
|
||||
echo " goto l (list all bookmarks)"
|
||||
echo " goto e (edit bookmarks file)"
|
||||
return
|
||||
end
|
||||
switch $command
|
||||
case s # Save bookmarks
|
||||
if test -z "$bookmark_name"
|
||||
echo "Error: Must provide a bookmark name to save."
|
||||
return 1
|
||||
end
|
||||
sed -i "/^$bookmark_name:/d" "$gotoConfig"
|
||||
echo "$bookmark_name:"(pwd) >> "$gotoConfig"
|
||||
echo "Bookmark **$bookmark_name** saved to: **"(pwd)"**"
|
||||
case g # Go to bookmark
|
||||
if test -z "$bookmark_name"
|
||||
echo "Error: Must provide a bookmark name to go to."
|
||||
return 1
|
||||
end
|
||||
set -l target_path (grep "^$bookmark_name:" "$gotoConfig" | cut -d ':' -f 2)
|
||||
if test -z "$target_path"
|
||||
echo "Error: Bookmark **$bookmark_name** not found."
|
||||
return 1
|
||||
end
|
||||
if test -d "$target_path"
|
||||
cd "$target_path"
|
||||
echo "Jumping to: **$target_path**"
|
||||
else
|
||||
echo "Error: Directory **$target_path** does not exist or is not a directory"
|
||||
end
|
||||
case d # Delete bookmark
|
||||
if test -z "$bookmark_name"
|
||||
echo "Error: Must provide a bookmark name to delete."
|
||||
return 1
|
||||
end
|
||||
|
||||
if grep -q "^$bookmark_name:" "$gotoConfig"
|
||||
sed -i "/^$bookmark_name:/d" "$gotoConfig"
|
||||
echo "Bookmark **$bookmark_name** deleted."
|
||||
else
|
||||
echo "Error: Bookmark **$bookmark_name** not found."
|
||||
return 1
|
||||
end
|
||||
case e # Edit bookmarks file
|
||||
if set -q EDITOR
|
||||
$EDITOR "$gotoConfig"
|
||||
else
|
||||
nano "$gotoConfig"
|
||||
end
|
||||
case l # List bookmarks
|
||||
if not test -s "$gotoConfig"
|
||||
echo "No bookmarks saved yet."
|
||||
return 0
|
||||
end
|
||||
echo "___ **Bookmarks** (Stored in: $gotoDir) ___"
|
||||
column -t -s ':' "$gotoConfig"
|
||||
case '*'
|
||||
echo "Invalid command: $command"
|
||||
goto # Show usage
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
27
home-manager/modules/fuzzel.nix
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "JetBrainsMono Nerd Font:size=16"; # Thin often maps to weight in Nix
|
||||
dpi-aware = "no";
|
||||
terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||
lines = 20;
|
||||
width = 50;
|
||||
icons-enabled = "yes";
|
||||
icon-theme = "Papirus-Nord";
|
||||
};
|
||||
colors = {
|
||||
background = "121212ee";
|
||||
text = "ffffffff";
|
||||
selection = "444444ee";
|
||||
selection-text = "acbeb1ff";
|
||||
border = "3c4541ff";
|
||||
};
|
||||
border = {
|
||||
radius = 5;
|
||||
width = 2; # Added a small width so your border color actually shows
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
56
home-manager/modules/ghostty.nix
Executable file
|
|
@ -0,0 +1,56 @@
|
|||
{ config, pkgs, ... }: {
|
||||
home.file.".config/ghostty/config".text = ''
|
||||
# Font Configuration
|
||||
font-size = 12
|
||||
|
||||
# Window Configuration
|
||||
window-decoration = false
|
||||
window-padding-x = 12
|
||||
window-padding-y = 12
|
||||
background-opacity = 0.90
|
||||
background-blur-radius = 32
|
||||
|
||||
# Cursor Configuration
|
||||
cursor-style = block
|
||||
cursor-style-blink = true
|
||||
|
||||
# Scrollback
|
||||
scrollback-limit = 3023
|
||||
|
||||
# Terminal features
|
||||
mouse-hide-while-typing = true
|
||||
copy-on-select = false
|
||||
confirm-close-surface = false
|
||||
|
||||
# Disable annoying copied to clipboard
|
||||
app-notifications = no-clipboard-copy,no-config-reload
|
||||
|
||||
# Key bindings
|
||||
keybind = ctrl+shift+n=new_window
|
||||
keybind = ctrl+t=new_tab
|
||||
keybind = ctrl+plus=increase_font_size:1
|
||||
keybind = ctrl+minus=decrease_font_size:1
|
||||
keybind = ctrl+zero=reset_font_size
|
||||
|
||||
# Material 3 UI elements
|
||||
unfocused-split-opacity = 0.7
|
||||
unfocused-split-fill = #44464f
|
||||
|
||||
# Tab configuration
|
||||
gtk-titlebar = false
|
||||
|
||||
# Shell integration
|
||||
shell-integration = detect
|
||||
shell-integration-features = cursor,sudo,title,no-cursor
|
||||
keybind = shift+enter=text:\n
|
||||
|
||||
# Rando stuff
|
||||
gtk-single-instance = true
|
||||
|
||||
# Dank color generation
|
||||
config-file = ./themes/dankcolors
|
||||
'';
|
||||
home.packages = with pkgs; [
|
||||
ghostty
|
||||
];
|
||||
}
|
||||
9
home-manager/modules/nvim/default.nix
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
{ config, pkgs, ... }: {
|
||||
imports = [
|
||||
./options.nix
|
||||
./plugins.nix
|
||||
./keymaps.nix
|
||||
./init.nix
|
||||
./neovim.nix
|
||||
];
|
||||
}
|
||||
7
home-manager/modules/nvim/init.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, ... }: {
|
||||
xdg.configFile."nvim/init.lua".text = ''
|
||||
require("options")
|
||||
require("keymaps")
|
||||
require("plugins")
|
||||
'';
|
||||
}
|
||||
23
home-manager/modules/nvim/keymaps.nix
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
{ ... }: {
|
||||
xdg.configFile."nvim/lua/keymaps.lua".text = ''
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
local keymap = vim.keymap.set
|
||||
keymap('n', '<leader>ps', ':Lazy<CR>')
|
||||
keymap('n', '<leader>o', ':update<CR> :source<CR>')
|
||||
keymap('n', '<leader>w', ':write<CR>')
|
||||
keymap('n', '<leader>q', ':quit<CR>')
|
||||
keymap('n', '<leader>QQ', ':q!<CR>')
|
||||
keymap('n', '<leader>wq', ':wq<CR>')
|
||||
keymap('n', '<leader>r', ':set wrap!<CR>')
|
||||
keymap('n', '<leader>vs', ':vsplit<CR>')
|
||||
keymap('n', '<leader>hs', ':split<CR>')
|
||||
keymap('n', '<Tab>', ':bnext<CR>')
|
||||
keymap('n', '<leader>e', ':Oil --float<CR>')
|
||||
keymap('n', '<leader>b', ':Telescope buffers<CR>')
|
||||
keymap('n', '<leader>ff', ':Telescope find_files<CR>')
|
||||
keymap('n', '<leader>fg', ':Telescope live_grep<CR>')
|
||||
keymap('n', '<leader>n', ':set nonumber norelativenumber<CR>')
|
||||
'';
|
||||
}
|
||||
18
home-manager/modules/nvim/neovim.nix
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
extraPackages = with pkgs; [
|
||||
lua-language-server
|
||||
nil
|
||||
gcc
|
||||
gnumake
|
||||
unzip
|
||||
wget
|
||||
curl
|
||||
ripgrep
|
||||
fd
|
||||
lua-language-server
|
||||
];
|
||||
};
|
||||
}
|
||||
22
home-manager/modules/nvim/options.nix
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
{ ... }: {
|
||||
xdg.configFile."nvim/lua/options.lua".text = ''
|
||||
local opt = vim.opt
|
||||
opt.showmode = false
|
||||
opt.number = true
|
||||
opt.relativenumber = true
|
||||
opt.tabstop = 4
|
||||
opt.shiftwidth = 4
|
||||
opt.expandtab = true
|
||||
opt.autoindent = true
|
||||
opt.smartindent = true
|
||||
opt.termguicolors = true
|
||||
opt.background = "dark"
|
||||
opt.signcolumn = "yes"
|
||||
opt.cursorline = true
|
||||
opt.listchars = "tab: ,multispace:| ,eol:"
|
||||
opt.list = true
|
||||
opt.winborder = "rounded"
|
||||
opt.backspace = "indent,eol,start"
|
||||
opt.clipboard:append("unnamedplus")
|
||||
'';
|
||||
}
|
||||
135
home-manager/modules/nvim/plugins.nix
Executable file
|
|
@ -0,0 +1,135 @@
|
|||
{ pkgs, ... }: {
|
||||
xdg.configFile."nvim/lua/plugins.lua".text = ''
|
||||
-- 1. Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable",
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- 2. Setup Plugins
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- Colorschemes
|
||||
{ "RomanAverin/charleston.nvim", priority = 1000 },
|
||||
|
||||
-- Status line
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
config = function()
|
||||
require('lualine').setup({
|
||||
options = {
|
||||
theme = 'charleston', -- It should pick up your theme automatically
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
globalstatus = true, -- Nice modern single bar at the bottom
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {'mode'},
|
||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
},
|
||||
})
|
||||
end
|
||||
},
|
||||
|
||||
-- Completion & UI
|
||||
{
|
||||
'saghen/blink.cmp',
|
||||
dependencies = 'rafamadriz/friendly-snippets',
|
||||
version = '*',
|
||||
opts = {
|
||||
keymap = { preset = 'default' },
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
}
|
||||
},
|
||||
-- LSP Configuration (Updated for Neovim 0.11+)
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = { 'saghen/blink.cmp' },
|
||||
config = function()
|
||||
-- In Neovim 0.11, we use the native vim.lsp.config API
|
||||
local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
|
||||
-- List the servers you want to enable
|
||||
local servers = { "lua_ls", "nil_ls" }
|
||||
|
||||
for _, server in ipairs(servers) do
|
||||
vim.lsp.config(server, {
|
||||
install = {
|
||||
-- This prevents lspconfig from trying to install things
|
||||
-- since Nix is handling the binaries
|
||||
enabled = false,
|
||||
},
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Enable the server
|
||||
vim.lsp.enable(server)
|
||||
end
|
||||
end
|
||||
},
|
||||
|
||||
-- Navigation & Files
|
||||
{ "stevearc/oil.nvim", opts = { default_file_explorer = true } },
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" }
|
||||
},
|
||||
|
||||
-- Dashboard Configuration
|
||||
{
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
local dashboard = require("dashboard")
|
||||
dashboard.setup({
|
||||
theme = "doom",
|
||||
config = {
|
||||
header = {
|
||||
" ",
|
||||
" ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗",
|
||||
" ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║",
|
||||
" ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║",
|
||||
" ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║",
|
||||
" ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║",
|
||||
" ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝",
|
||||
" ",
|
||||
},
|
||||
center = {
|
||||
{ icon = " ", icon_hl = "@variable", desc = "New File", key = "n", action = "enew" },
|
||||
{ icon = " ", icon_hl = "@variable", desc = "File Explorer", key = "e", action = "Oil --float" },
|
||||
{ icon = " ", icon_hl = "@variable", desc = "Find File", key = "f", action = "Telescope find_files" },
|
||||
{ icon = " ", icon_hl = "@variable", desc = "Find Text", key = "t", action = "Telescope live_grep" },
|
||||
{ icon = " ", icon_hl = "@variable", desc = "Quit", key = "q", action = "qa" },
|
||||
},
|
||||
footer = { "v" .. vim.version().major .. "." .. vim.version().minor },
|
||||
},
|
||||
})
|
||||
end
|
||||
},
|
||||
},
|
||||
install = { colorscheme = { "charleston" } },
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
})
|
||||
|
||||
-- Final Theme Load
|
||||
vim.cmd("colorscheme charleston")
|
||||
'';
|
||||
}
|
||||
18
home-manager/modules/scripts.nix
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
# This packages your script and its dependencies
|
||||
nerdfont-search = pkgs.writeShellScriptBin "nfPicker" ''
|
||||
# We reference the CSV file.
|
||||
# If you put nerdfont.csv in the same folder as this nix file:
|
||||
CSV_PATH="${../files/nerdfont.csv}"
|
||||
|
||||
# Run the pipeline using packages from the Nix store
|
||||
cat "$CSV_PATH" | ${pkgs.fuzzel}/bin/fuzzel -d | ${pkgs.gawk}/bin/gawk -F, '{printf $3}' | ${pkgs.wl-clipboard}/bin/wl-copy
|
||||
${pkgs.wl-clipboard}/bin/wl-paste
|
||||
'';
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
nerdfont-search
|
||||
];
|
||||
}
|
||||
44
home-manager/modules/tmux.nix
Executable file
|
|
@ -0,0 +1,44 @@
|
|||
{ config, pkgs, ... }: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
baseIndex = 1;
|
||||
escapeTime = 0;
|
||||
historyLimit = 10000;
|
||||
mouse = true;
|
||||
keyMode = "vi"; # Optional: sets vi mode for copy/paste
|
||||
shortcut = "Space"; # Sets Prefix to Ctrl+Space
|
||||
plugins = with pkgs; [
|
||||
tmuxPlugins.sensible
|
||||
tmuxPlugins.yank
|
||||
];
|
||||
extraConfig = ''
|
||||
set -g renumber-windows on
|
||||
set -g detach-on-destroy off
|
||||
set -g set-clipboard on
|
||||
unbind r
|
||||
bind r source-file ~/.config/tmux/tmux.conf
|
||||
bind h split-window -v -c "#{pane_current_path}"
|
||||
bind v split-window -h -c "#{pane_current_path}"
|
||||
bind X confirm-before -p "Kill session #S (y/n)" kill-session
|
||||
set -g status-position top
|
||||
set -g status-style "bg=default"
|
||||
set -g status-justify "absolute-centre"
|
||||
setw -g pane-border-status top
|
||||
setw -g pane-border-format " "
|
||||
setw -g pane-active-border-style "bg=default, fg=#E0E0E0"
|
||||
setw -g pane-border-style "bg=default, fg=#E0E0E0"
|
||||
setw -g pane-border-lines single
|
||||
set -g window-status-current-format ""
|
||||
set -g window-status-format ""
|
||||
set -g window-status-separator ""
|
||||
set -g status-left-length 100
|
||||
set -g status-left "#{?client_prefix,#[fg=#CC0000] #S ,#[fg=#CCCC00] #S, #[fg=#66CC00] #S }"
|
||||
set -ga status-left "#[bg=default,fg=#e0e0e0,none]│"
|
||||
set -ga status-left "#[bg=default,fg=#e0e0e0] #{pane_current_command} "
|
||||
set -ga status-left "#[bg=default,fg=#e0e0e0,none]│"
|
||||
set -ga status-left "#[bg=default,fg=#0080ff] #{=/-32/...:#{s|/home/$USER|~|:pane_current_path}} "
|
||||
set -g status-right ""
|
||||
set -g status-right-length 0
|
||||
'';
|
||||
};
|
||||
}
|
||||