mirror of
https://git.sr.ht/~roxwize/.dotfiles
synced 2025-07-23 06:39:05 +00:00
~
This commit is contained in:
parent
2ad36426a2
commit
c6813d052f
8 changed files with 49 additions and 64 deletions
47
README.md
47
README.md
|
@ -1,11 +1,5 @@
|
||||||

|

|
||||||
|
|
||||||
this is rae's nixOS config meow
|
|
||||||
|
|
||||||
- **display manager**: SDDM (BUT YUO NEVER SEE IT BLEHHHH)
|
|
||||||
- **window manager**: openbox
|
|
||||||
- **status bar**: yambar
|
|
||||||
|
|
||||||
# installation
|
# installation
|
||||||
|
|
||||||
theoretically:
|
theoretically:
|
||||||
|
@ -19,7 +13,15 @@ nixos-install --flake './nixos#[hostname]'
|
||||||
|
|
||||||
from my experience the process is more involved, but it ultimately boils down to those three commands above (the first command is only for bootstrapping). youll need to make a configuration for your host which involves creating default configurations with `nixos-generate-config`, copying it to your host's folder in `nixos/hosts/[host]/`, editing it, and then adding it to `flake.nix`. after that you should clone the repo inside of `/home/rae/` on your filesystem
|
from my experience the process is more involved, but it ultimately boils down to those three commands above (the first command is only for bootstrapping). youll need to make a configuration for your host which involves creating default configurations with `nixos-generate-config`, copying it to your host's folder in `nixos/hosts/[host]/`, editing it, and then adding it to `flake.nix`. after that you should clone the repo inside of `/home/rae/` on your filesystem
|
||||||
|
|
||||||
## raspberry PI devices
|
# default applications
|
||||||
|
|
||||||
|
- **compositor** xcompmgr
|
||||||
|
- **DM** SDDM
|
||||||
|
- **launcher** rofi
|
||||||
|
- **statusbar** yambar
|
||||||
|
- **WM** openbox
|
||||||
|
|
||||||
|
<!--## raspberry PI devices
|
||||||
|
|
||||||
[raspberry-pi-nix](https://github.com/nix-community/raspberry-pi-nix) is used to build PI sd card images. have yur lil sd card on hand (paw) and run in the root of the repository:
|
[raspberry-pi-nix](https://github.com/nix-community/raspberry-pi-nix) is used to build PI sd card images. have yur lil sd card on hand (paw) and run in the root of the repository:
|
||||||
|
|
||||||
|
@ -39,13 +41,9 @@ the system will automatically resize the root partition to match the size of the
|
||||||
nixos-rebuild switch --flake './nixos#[hostname]' --target-host root@[hostname]
|
nixos-rebuild switch --flake './nixos#[hostname]' --target-host root@[hostname]
|
||||||
```
|
```
|
||||||
|
|
||||||
ssh isnt automatically setup in a way that lets you do this from the start, you should define it in your host configuration beforehand. near has a decent example of this that you can look over if yu want...
|
ssh isnt automatically setup in a way that lets you do this from the start, you should define it in your host configuration beforehand. near has a decent example of this that you can look over if yu want...-->
|
||||||
|
|
||||||
# usage
|
# openbox hotkeys
|
||||||
|
|
||||||
the system should boot into openbox and from there you'll have your statusbar and a lot of keybinds to learn x3
|
|
||||||
|
|
||||||
## openbox hotkeys
|
|
||||||
|
|
||||||
```
|
```
|
||||||
Menus
|
Menus
|
||||||
|
@ -99,29 +97,6 @@ Miscellaneous
|
||||||
Restart
|
Restart
|
||||||
```
|
```
|
||||||
|
|
||||||
or:
|
|
||||||
|
|
||||||
**Alt+Left click** and drag over a window to move it<br>
|
|
||||||
**Alt+Right click** and drag over a window to resize it<br>
|
|
||||||
**Ctrl+Right click** on titlebar to open its window's menu<br>
|
|
||||||
**Alt+C** over a window to do the same thing
|
|
||||||
|
|
||||||
**Double click titlebar** to maximize its window completely<br>
|
|
||||||
**Left click maximize button** to maximize completely<br>
|
|
||||||
**Middle click maximize button** to maximize vertically<br>
|
|
||||||
**Right click maximize button** to maximize horizontally
|
|
||||||
|
|
||||||
**Right click** on desktop to open menu<br>
|
|
||||||
**Alt+Right click** over a window to do the same thing<br>
|
|
||||||
**Alt+D** to open the application launcher
|
|
||||||
|
|
||||||
**Alt+Left arrow** to go to the previous desktop<br>
|
|
||||||
**Alt+Right arrow** to go to the next desktop<br>
|
|
||||||
**Alt+[1-6]** to go to a specific desktop<br>
|
|
||||||
**Alt+Shift+Left arrow** to go to the previous desktop window<br>
|
|
||||||
**Alt+Shift+Right arrow** to go to the next desktop window<br>
|
|
||||||
**Alt+Tab** to cycle windows in all desktops
|
|
||||||
|
|
||||||
# (history)
|
# (history)
|
||||||
|
|
||||||
here is the very first finalized version of this config that was originally tested on a qemu vm. it took 14 hours to set up. after running it on the machine itself and switching over to the configuration in its entirety i realized that it was complete and utter HORSESHIT. making things look nice again took another like four hours.
|
here is the very first finalized version of this config that was originally tested on a qemu vm. it took 14 hours to set up. after running it on the machine itself and switching over to the configuration in its entirety i realized that it was complete and utter HORSESHIT. making things look nice again took another like four hours.
|
||||||
|
|
Before Width: | Height: | Size: 859 KiB After Width: | Height: | Size: 859 KiB |
|
@ -27,7 +27,7 @@
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
canvasblocker
|
canvasblocker
|
||||||
catppuccin-gh-file-explorer
|
catppuccin-web-file-icons
|
||||||
indie-wiki-buddy
|
indie-wiki-buddy
|
||||||
privacy-badger
|
privacy-badger
|
||||||
simple-tab-groups
|
simple-tab-groups
|
||||||
|
@ -39,6 +39,8 @@
|
||||||
];
|
];
|
||||||
settings = {
|
settings = {
|
||||||
"browser.aboutConfig.showWarning" = false;
|
"browser.aboutConfig.showWarning" = false;
|
||||||
|
"browser.ml.chat.enabled" = false;
|
||||||
|
"browser.ml.enable" = false;
|
||||||
"browser.newtabpage.activity-stream.default.sites" = "https://en.wikipedia.org/";
|
"browser.newtabpage.activity-stream.default.sites" = "https://en.wikipedia.org/";
|
||||||
"browser.newtabpage.activity-stream.discoverystream.enabled" = false;
|
"browser.newtabpage.activity-stream.discoverystream.enabled" = false;
|
||||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||||
|
@ -61,6 +63,7 @@
|
||||||
"browser.startup.page" = 3;
|
"browser.startup.page" = 3;
|
||||||
"browser.tabs.closeWindowWithLastTab" = false;
|
"browser.tabs.closeWindowWithLastTab" = false;
|
||||||
"browser.tabs.insertAfterCurrent" = true;
|
"browser.tabs.insertAfterCurrent" = true;
|
||||||
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
"devtools.editor.tabsize" = 4;
|
"devtools.editor.tabsize" = 4;
|
||||||
"datareporting.healthreport.uploadEnabled" = false;
|
"datareporting.healthreport.uploadEnabled" = false;
|
||||||
"extensions.pocket.enabled" = false;
|
"extensions.pocket.enabled" = false;
|
||||||
|
@ -69,6 +72,7 @@
|
||||||
"font.name.monospace.x-western" = "Fira Code";
|
"font.name.monospace.x-western" = "Fira Code";
|
||||||
"general.autoScroll" = true;
|
"general.autoScroll" = true;
|
||||||
"layout.css.prefers-color-scheme.content-override" = 0;
|
"layout.css.prefers-color-scheme.content-override" = 0;
|
||||||
|
"sidebar.visibility" = "hide-sidebar";
|
||||||
"svg.context-properties.content.enabled" = true;
|
"svg.context-properties.content.enabled" = true;
|
||||||
};
|
};
|
||||||
bookmarks = [
|
bookmarks = [
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
# "editor.fontLigatures" = true;
|
# "editor.fontLigatures" = true;
|
||||||
"editor.formatOnSave" = false;
|
"editor.formatOnSave" = false;
|
||||||
"editor.indentSize" = 4;
|
"editor.indentSize" = 4;
|
||||||
"editor.inlayHints.enabled" = false;
|
"editor.inlayHints.enabled" = "off";
|
||||||
"editor.insertSpaces" = false;
|
"editor.insertSpaces" = false;
|
||||||
"editor.tabSize" = 4;
|
"editor.tabSize" = 4;
|
||||||
"explorer.confirmDelete" = false;
|
"explorer.confirmDelete" = false;
|
||||||
|
@ -62,12 +62,14 @@
|
||||||
"prettier.singleAttributePerLine" = false;
|
"prettier.singleAttributePerLine" = false;
|
||||||
"prettier.useEditorConfig" = true;
|
"prettier.useEditorConfig" = true;
|
||||||
"prettier.useTabs" = true;
|
"prettier.useTabs" = true;
|
||||||
|
"SourcePawnLanguageServer.includeDirectories" = [ "/mnt/rae2/steamcmd/css_ds/cstrike/addons/sourcemod/scripting/include" ];
|
||||||
"svelte.enable-ts-plugin" = true;
|
"svelte.enable-ts-plugin" = true;
|
||||||
"telemetry.telemetryLevel" = "off";
|
"telemetry.telemetryLevel" = "off";
|
||||||
"workbench.activityBar.iconClickBehavior" = "toggle";
|
"workbench.activityBar.iconClickBehavior" = "toggle";
|
||||||
"workbench.activityBar.location" = "bottom";
|
"workbench.activityBar.location" = "bottom";
|
||||||
"workbench.colorTheme" = "Catppuccin Frappé";
|
"workbench.colorTheme" = "Catppuccin Frappé";
|
||||||
"workbench.iconTheme" = "catppuccin-frappe";
|
"workbench.iconTheme" = "catppuccin-frappe";
|
||||||
|
"workbench.sideBar.location" = "right";
|
||||||
"workbench.startupEditor" = "none";
|
"workbench.startupEditor" = "none";
|
||||||
} // builtins.listToAttrs [
|
} // builtins.listToAttrs [
|
||||||
(df "css" "esbenp.prettier-vscode")
|
(df "css" "esbenp.prettier-vscode")
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
};
|
};
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
|
allowBroken = true;
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
nvidia.acceptLicense = true;
|
nvidia.acceptLicense = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
};
|
};
|
||||||
nvidia = {
|
nvidia = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.legacy_390;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -59,15 +59,15 @@
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
neededForBoot = false;
|
neededForBoot = false;
|
||||||
};
|
};
|
||||||
# # Big fucking thing
|
# Big fucking thing
|
||||||
# fileSystems."/mnt/rae2" = {
|
fileSystems."/mnt/rae2" = {
|
||||||
# device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
|
device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
|
||||||
# fsType = "ext4";
|
fsType = "ext4";
|
||||||
# neededForBoot = false;
|
neededForBoot = false;
|
||||||
# };
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall.allowedTCPPorts = [ 80 443 5900 8080 19132 25565 ];
|
firewall.allowedTCPPorts = [ 80 443 5900 8080 19132 25565 27015 ];
|
||||||
hosts = {
|
hosts = {
|
||||||
"10.0.0.2" = [ "near" "near.local" ];
|
"10.0.0.2" = [ "near" "near.local" ];
|
||||||
};
|
};
|
||||||
|
@ -148,7 +148,10 @@
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security = {
|
||||||
|
polkit.enable = true;
|
||||||
|
sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||||
|
};
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
mime = {
|
mime = {
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
jdk23 # Open-source Java Development Kit
|
jdk23 # Open-source Java Development Kit
|
||||||
just # Handy way to save and run project-specific commands
|
just # Handy way to save and run project-specific commands
|
||||||
meson # Open source, fast and friendly build system made in Python
|
meson # Open source, fast and friendly build system made in Python
|
||||||
nodejs_23 # Event-driven I/O framework for the V8 JavaScript engine
|
nodejs_24 # Event-driven I/O framework for the V8 JavaScript engine
|
||||||
nurl # Command-line tool to generate Nix fetcher calls from repository URLs
|
nurl # Command-line tool to generate Nix fetcher calls from repository URLs
|
||||||
pnpm # Fast, disk space efficient package manager for JavaScript
|
pnpm # Fast, disk space efficient package manager for JavaScript
|
||||||
python313 # High-level dynamically-typed programming language
|
python313 # High-level dynamically-typed programming language
|
||||||
|
@ -34,8 +34,8 @@
|
||||||
gzdoom # Modder-friendly OpenGL and Vulkan source port based on the DOOM engine
|
gzdoom # Modder-friendly OpenGL and Vulkan source port based on the DOOM engine
|
||||||
unstable.luanti # An open source voxel game engine (formerly Minetest)
|
unstable.luanti # An open source voxel game engine (formerly Minetest)
|
||||||
prismlauncher # Free, open source launcher for Minecraft
|
prismlauncher # Free, open source launcher for Minecraft
|
||||||
(retroarch.override { # Multi-platform emulator frontend for libretro cores
|
(retroarch.withCores ( # Multi-platform emulator frontend for libretro cores
|
||||||
cores = with libretro; [
|
cores: with cores; [
|
||||||
blastem # Sega Genesis
|
blastem # Sega Genesis
|
||||||
dosbox # MS-DOS
|
dosbox # MS-DOS
|
||||||
easyrpg # RPG Maker 2000/2003
|
easyrpg # RPG Maker 2000/2003
|
||||||
|
@ -47,8 +47,8 @@
|
||||||
ppsspp # PlayStation Portable
|
ppsspp # PlayStation Portable
|
||||||
snes9x # Super Nintendo Entertainment System
|
snes9x # Super Nintendo Entertainment System
|
||||||
yabause # Sega Saturn
|
yabause # Sega Saturn
|
||||||
];
|
]
|
||||||
})
|
))
|
||||||
steam-run # Run commands in the same FHS environment that is used for Steam
|
steam-run # Run commands in the same FHS environment that is used for Steam
|
||||||
the-powder-toy # Free 2D physics sandbox game
|
the-powder-toy # Free 2D physics sandbox game
|
||||||
uxn # Assembler and emulator for the Uxn stack machine
|
uxn # Assembler and emulator for the Uxn stack machine
|
||||||
|
@ -69,11 +69,12 @@
|
||||||
cachix # Command-line client for Nix binary cache hosting
|
cachix # Command-line client for Nix binary cache hosting
|
||||||
ngrok # Allows you to expose a web server running on your local machine to the internet
|
ngrok # Allows you to expose a web server running on your local machine to the internet
|
||||||
nicotine-plus # Graphical client for the SoulSeek peer-to-peer system
|
nicotine-plus # Graphical client for the SoulSeek peer-to-peer system
|
||||||
playit-agent # The playit program
|
# doesn't work at the moment (and port forwarding works now anyways)
|
||||||
|
# playit-agent # The playit program
|
||||||
qbittorrent # Featureful free software BitTorrent client
|
qbittorrent # Featureful free software BitTorrent client
|
||||||
slack # Desktop client for Slack
|
slack # Desktop client for Slack
|
||||||
tiny # Console IRC client
|
tiny # Console IRC client
|
||||||
unstable.vesktop # Alternate client for Discord with Vencord built-in
|
vesktop # Alternate client for Discord with Vencord built-in
|
||||||
yt-dlp # Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)
|
yt-dlp # Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)
|
||||||
# system tools
|
# system tools
|
||||||
android-tools # Android SDK platform tools
|
android-tools # Android SDK platform tools
|
||||||
|
@ -95,13 +96,12 @@
|
||||||
xclip # Tool to access the X clipboard from a console application
|
xclip # Tool to access the X clipboard from a console application
|
||||||
zellij # Terminal workspace with batteries included
|
zellij # Terminal workspace with batteries included
|
||||||
# text editors
|
# text editors
|
||||||
# TODO: remove unstable when you upgrade to 25.05
|
neovim # Vim text editor fork focused on extensibility and agility
|
||||||
unstable.neovim # Vim text editor fork focused on extensibility and agility
|
|
||||||
vscodium # Open source source code editor developed by Microsoft for Windows, Linux and macOS (VS Code without MS branding/telemetry/licensing)
|
vscodium # Open source source code editor developed by Microsoft for Windows, Linux and macOS (VS Code without MS branding/telemetry/licensing)
|
||||||
# audio
|
# audio
|
||||||
alsa-utils # ALSA, the Advanced Linux Sound Architecture utils
|
alsa-utils # ALSA, the Advanced Linux Sound Architecture utils
|
||||||
audacity # Sound editor with graphical UI
|
audacity # Sound editor with graphical UI
|
||||||
unstable.bespokesynth # Software modular synth with controllers support, scripting and VST
|
bespokesynth # Software modular synth with controllers support, scripting and VST
|
||||||
# TODO: consider getting rid of this (no mpd support makes me sad......)
|
# TODO: consider getting rid of this (no mpd support makes me sad......)
|
||||||
fooyin # Customisable music player
|
fooyin # Customisable music player
|
||||||
mpc # Minimalist command line interface to MPD
|
mpc # Minimalist command line interface to MPD
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
yambar # Modular status panel for X11 and Wayland
|
yambar # Modular status panel for X11 and Wayland
|
||||||
# misc
|
# misc
|
||||||
anki # Spaced repetition flashcard program
|
anki # Spaced repetition flashcard program
|
||||||
unstable.kdePackages.kdenlive # Free and open source video editor, based on MLT Framework and KDE Frameworks
|
kdePackages.kdenlive # Free and open source video editor, based on MLT Framework and KDE Frameworks
|
||||||
kicad-small # Open Source Electronics Design Automation suite, without 3D models
|
kicad-small # Open Source Electronics Design Automation suite, without 3D models
|
||||||
mlt #! Open source multimedia framework, designed for television broadcasting (This is fucking stupid)
|
mlt #! Open source multimedia framework, designed for television broadcasting (This is fucking stupid)
|
||||||
nmap # Free and open source utility for network discovery and security auditing
|
nmap # Free and open source utility for network discovery and security auditing
|
||||||
|
@ -133,16 +133,16 @@
|
||||||
temurin-jre-bin-8 # Eclipse Temurin, prebuilt OpenJDK binary
|
temurin-jre-bin-8 # Eclipse Temurin, prebuilt OpenJDK binary
|
||||||
vlc # Cross-platform media player and streaming server
|
vlc # Cross-platform media player and streaming server
|
||||||
# programs to consider the retention of
|
# programs to consider the retention of
|
||||||
catppuccin-sddm # Soothing pastel theme for SDDM
|
# catppuccin-sddm # Soothing pastel theme for SDDM
|
||||||
cemu-ti # Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
|
cemu-ti # Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
|
||||||
flips # Patcher for IPS and BPS files
|
# flips # Patcher for IPS and BPS files
|
||||||
ghidra # Software reverse engineering (SRE) suite of tools
|
# ghidra # Software reverse engineering (SRE) suite of tools
|
||||||
libreoffice # Comprehensive, professional-quality productivity suite, a variant of openoffice.org
|
libreoffice # Comprehensive, professional-quality productivity suite, a variant of openoffice.org
|
||||||
plugdata # Plugin wrapper around Pure Data to allow patching in a wide selection of DAWs
|
plugdata # Plugin wrapper around Pure Data to allow patching in a wide selection of DAWs
|
||||||
soteria # Polkit authentication agent written in GTK designed to be used with any desktop environment
|
soteria # Polkit authentication agent written in GTK designed to be used with any desktop environment
|
||||||
sunvox # Small, fast and powerful modular synthesizer with pattern-based sequencer
|
sunvox # Small, fast and powerful modular synthesizer with pattern-based sequencer
|
||||||
tilem # Emulator and debugger for Texas Instruments Z80-based graphing calculators
|
# tilem # Emulator and debugger for Texas Instruments Z80-based graphing calculators
|
||||||
timeshift # System restore tool for Linux
|
# timeshift # System restore tool for Linux
|
||||||
];
|
];
|
||||||
|
|
||||||
services.flatpak.packages = [
|
services.flatpak.packages = [
|
||||||
|
|
|
@ -80,7 +80,7 @@ in with lib; {
|
||||||
enable = cfg.graphics.display.x11.enable;
|
enable = cfg.graphics.display.x11.enable;
|
||||||
xkb.layout = "us";
|
xkb.layout = "us";
|
||||||
windowManager = builtins.listToAttrs (builtins.map (x: { name = x; value = { enable = true; }; }) cfg.graphics.display.x11.windowManagers);
|
windowManager = builtins.listToAttrs (builtins.map (x: { name = x; value = { enable = true; }; }) cfg.graphics.display.x11.windowManagers);
|
||||||
videoDrivers = (optional cfg.graphics.hardwareAcceleration.nvidia.enable "nvidia") ++ [ "modesetting" ];
|
videoDrivers = if cfg.graphics.hardwareAcceleration.nvidia.enable then [ "nvidia" ] else [ "modesetting" ];
|
||||||
};
|
};
|
||||||
displayManager.sddm = {
|
displayManager.sddm = {
|
||||||
enable = cfg.graphics.display.x11.enable;
|
enable = cfg.graphics.display.x11.enable;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue