Thursday, May 29, 2025

Bluefin + Blue Build Custom Atomic


 

 

Dev environment: https://docs.projectbluefin.io/bluefin-dx 

Terminal setup: https://docs.projectbluefin.io/command-line/

Rebasing: https://docs.projectbluefin.io/administration/

 

Custom Images:   

images for NVIDIA and non-NVIDIA at: https://github.com/whelanh/myBluefin

 

OneDrive: 

brew install onedrive
# type onedrive to register/connect with your MSft OneDrive account 
brew services start onedrive 


Tailscale:
 
brew install tailscale
tailscale up --ssh # flag permits ssh access
tailscale ssh <
tailscale node name>

 

Kmymoney: need prefix to disable video acceleration: 

QMLSCENE_DEVICE=softwarecontext QT_OPENGL=software kmymoney (last could be flatpak run org.kde.mymoney)


 

Toolbox (good pattern: use to compile Stockfish...but can now do in custom image):

toolbox create
toolbox enter
sudo dnf groupinstall "Development Tools" 
sudo dnf in gcc-c++ 

Cron Replacement: https://fedoramagazine.org/systemd-timers-for-scheduling-tasks/ 

systemctl --user stop schedule-test.timer 
systemctl --user disable schedule-test.timer 
systemctl --user stop schedule-test.service 
systemctl --user disable schedule-test.service 
systemctl --user daemon-reload 
systemctl --user reset-failed


systemctl --user enable schedule-test.service
systemctl --user enable schedule-stockfish.service 
 
systemctl --user enable schedule-test.timer
systemctl --user enable schedule-test-two.timer
systemctl --user enable schedule-stockfish.timer

systemctl --user start schedule-test.timer
systemctl --user start schedule-test-two.timer
systemctl --user start schedule-stockfish.timer

systemctl --user status schedule-test 

systemctl --user list-unit-files

Pycharm:

Download the Jetbrains toolbox: JetBrains Toolbox App: Manage Your Tools with Ease (already installed with Bluefin-dx....just run it)

Untar it and run the command, that will install a helper app for you that will let you install PyCharm. It will also download and configure all the python things you need via virtual environments, or conda, etc. There’s no need to mess with system stuff for this, the pycharm toolbox keeps everything in your home directory so it’s nice and neat.

Rebase:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:stable-daily

rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia-open:stable-daily

 

To update all distrobox apps:
distrobox upgrade --all

Rstudio (now part of my custom image):
create a distrobox environment as above, enter it, and then:

sudo dnf copr enable iucar/rstudio # enables this repo 
sudo dnf install R rstudio-desktop # for RStudio Desktop
 

Chezmoi (for managing dotfiles): 


Compile program and create desktop icon:
# Clone the repository
git clone https://github.com/your-repo/your-project.git
cd your-project

# Create a distrobox (e.g., Fedora)
distrobox create -n fedora-dev -i fedora:latest

# Enter the distrobox
distrobox enter fedora-dev

# Install dependencies (inside the distrobox)
sudo dnf install gcc make gcc-c++

# Compile the code (inside the distrobox)
make

# Run the program (inside the distrobox)
./your-program
 
Create Desktop file for gui compiled in distrobox (put in .local/share/applications folder):
[Desktop Entry] Type=Application Version=1.0 Name=VSCode (Distrobox) Comment=Code Editing. Redefined. Exec=sh -c 'distrobox enter ubuntu-23-04 -- code' GenericName=Text Editor Icon=com.visualstudio.code Keywords=vscode; Categories=TextEditor;Development;IDE; Terminal=false StartupNotify=true


Saturday, May 17, 2025

Cosmic Desktop

 Auto Login

edit /etc/greetd/cosmic-greeter.toml as follows:
 
[general]
service = "login"
#service = "cosmic-greeter"

[default_session]
command = "cosmic-comp systemd-cat -t cosmic-greeter cosmic-greeter"
user = "hugh"
#user = "cosmic-greeter"

# hugh added below
[initial_session]
command = "cosmic-session"
user = "hugh"


 See what's using RAM

 ps aux  | awk '{print $6/1024 " MB\t\t" $11}'  | sort -n    

Wednesday, May 14, 2025

Optimizing JaKooLit Fedora-Hyprland Files To Reduce Power Consumption/Heat

 

Specific Optimization Instructions for Hyprland

I noticed using the JaKooLit dot files that my idle temperature was about 3 degrees warmer than just using Fedora Workstation Gnome DE.  I implemented the recommendations of Claude AI below and got idle temps back to within a degree of Gnome.

1. First, Disable Rainbow Borders (Highest Impact)

Edit ~/.config/hypr/UserConfigs/Startup_Apps.conf:

 

# Find this line:
exec-once = $UserScripts/RainbowBorders.sh

# Comment it out by adding # at the beginning:
# exec-once = $UserScripts/RainbowBorders.sh


2. Optimize Decorations (High Impact)

Replace the content in ~/.config/hypr/UserConfigs/UserDecorations.conf with:

# Decoration Settings
# Hyprland Wiki Links
# Animation - https://wiki.hyprland.org/Configuring/Animations/
# Decoration - https://wiki.hyprland.org/Configuring/Variables/#decoration
# Sourcing colors generated by wallust
source = $HOME/.config/hypr/wallust/wallust-hyprland.conf

general {
border_size = 2
gaps_in = 2
gaps_out = 4

col.active_border = $color12
col.inactive_border = $color10
}

decoration {
rounding = 10

active_opacity = 1.0
inactive_opacity = 1.0 # Changed from 0.9 to 1.0 (removes transparency)
fullscreen_opacity = 1.0
dim_inactive = false # Changed from true to false
dim_strength = 0.1 # Keep this in case you want to re-enable dim_inactive later
dim_special = 0.8

shadow {
enabled = false # Changed from true to false
range = 3
render_power = 1
color = $color12
color_inactive = $color10
}

blur {
enabled = false # Changed from true to false
# Below settings kept for reference if you want to re-enable blur with lightweight settings
size = 3 # Reduced from 6 to 3
passes = 1 # Reduced from 2 to 1
ignore_opacity = true
new_optimizations = true
special = true
popups = true
}
}

group {
col.border_active = $color15
groupbar {
col.active = $color0
}
}

3. Optimize Animations (Medium-High Impact)

Replace the content in ~/.config/hypr/UserConfigs/UserAnimations.conf with:

# /* ---- Optimized for lower system temperature ---- */
animations {
enabled = true

# Simpler bezier curve
bezier = simpleEase, 0.25, 0.1, 0.25, 1.0

# Reduced animation duration and complexity
animation = windows, 1, 4, simpleEase
animation = windowsIn, 1, 4, simpleEase
animation = windowsOut, 1, 4, simpleEase
animation = windowsMove, 1, 4, simpleEase
animation = border, 0, 1, default # Minimal/disabled
animation = borderangle, 0, 1, default # Minimal/disabled
animation = fade, 1, 5, default # Reduced duration
animation = workspaces, 1, 4, simpleEase
}

 

4. Optimize Startup Apps (Medium Impact)

# Commands and Apps to be executed at launch
$scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
$wallDIR=$HOME/Pictures/wallpapers
$lock = $scriptsDir/LockScreen.sh
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
$livewallpaper=""

# wallpaper stuff - Static wallpaper instead of daemon
exec-once = swww init && swww img $HOME/Pictures/wallpapers/your-favorite-wallpaper.jpg

# Startup essentials
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = $scriptsDir/Polkit.sh
exec-once = nm-applet --indicator
exec-once = swaync
# exec-once = ags # Commented out unless you specifically need it

# Only enable what you regularly use
exec-once = blueman-applet # Only if you use Bluetooth regularly
exec-once = insync start # Only if you need cloud sync continuously
exec-once = gnome-keyring-daemon --start
exec-once = waybar

# Clipboard manager - only text (more efficient)
exec-once = wl-paste --type text --watch cliphist store
# exec-once = wl-paste --type image --watch cliphist store # Commented out to save resources

# Rainbow borders - commented out to reduce CPU/GPU usage
# exec-once = $UserScripts/RainbowBorders.sh

# Starting hypridle to start hyprlock
exec-once = hypridle

# Other commented features
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png
#gnome polkit for nixos
#exec-once = $scriptsDir/Polkit-NixOS.sh
#exec-once = $scriptsDir/PortalHyprland.sh


Note: For the static wallpaper, replace your-favorite-wallpaper.jpg with an actual image file in your wallpapers directory.

5. Additional Power Saving Options

Create a script to automatically set power-saving mode when using Hyprland:

  1. Create a file at ~/.config/hypr/UserScripts/PowerSave.sh


#!/bin/bash


# Reduce screen brightness slightly if applicable
if command -v brightnessctl &> /dev/null; then
current=$(brightnessctl g)
max=$(brightnessctl m)
# Set to 80% of max if over that
target=$(( max * 80 / 100 ))
if [ $current -gt $target ]; then
brightnessctl s $target
fi
fi

 

Make it executable:

chmod +x ~/.config/hypr/UserScripts/PowerSave.sh

 

  1. Add it to your startup:

Edit ~/.config/hypr/UserConfigs/Startup_Apps.conf again and add:

# Power saving
exec-once = $UserScripts/PowerSave.sh 

 

 

 


Microsoft fonts on Arch

  yay -S ttf-ms-fonts ttf-selawik To achieve Microsoft-level font clarity on Arch Linux after installing Microsoft fonts, you'll need to...