1
0
Fork 0
mirror of https://github.com/pnx/dotfiles synced 2026-08-17 17:18:16 +02:00

Compare commits

...

10 commits

23 changed files with 70 additions and 177 deletions

View file

@ -0,0 +1,3 @@
set -x ANDROID_HOME "$HOME/Android/Sdk"
set -x ANDROID_SDK_ROOT "$ANDROID_HOME"
fish_add_path "$ANDROID_HOME/platform-tools" "$ANDROID_HOME/cmdline-tools/latest/bin" "$ANDROID_HOME/emulator"

View file

@ -1,3 +0,0 @@
if [ -d "$HOME/.opencode/bin" ]
fish_add_path $HOME/.opencode/bin
end

18
fonts/Ioseveka-custom.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
BASE_URL=https://raw.githubusercontent.com/pnx/Iosevka-custom/main/dist
INSTALL_DIR=~/.local/share/fonts
FONTS=(
IosevkaCustom-Regular.ttf
IosevkaCustom-SemiBold.ttf
IosevkaCustomNerdFont-Regular.ttf
IosevkaCustomNerdFont-SemiBold.ttf
)
for font in ${FONTS[@]}; do
echo "Installing ${font} to '${INSTALL_DIR}/${font}'"
curl -L -o "${INSTALL_DIR}/${font}" "${BASE_URL}/${font}"
done

View file

@ -1,2 +0,0 @@
.build
.patcher

View file

@ -1,26 +0,0 @@
IOSEVKA_GIT=https://github.com/be5invis/Iosevka.git
FONT_NAME=IosevkaCustom
BUILD_DIR=.build
INSTALL_DIR ?= ~/.local/share/fonts
.phony = install
build: $(BUILD_DIR) \
$(BUILD_DIR)/node_modules \
$(BUILD_DIR)/private-build-plans.toml
cd $(BUILD_DIR); npm run build -- ttf::$(FONT_NAME)
install -m 644 $(BUILD_DIR)/dist/$(FONT_NAME)/TTF/*.ttf dist
install:
mkdir -p $(INSTALL_DIR)
install -m 644 dist/*.ttf $(INSTALL_DIR)
$(BUILD_DIR) :
git clone --depth 1 $(IOSEVKA_GIT) $(BUILD_DIR)
$(BUILD_DIR)/node_modules :
cd $(BUILD_DIR); npm install
$(BUILD_DIR)/private-build-plans.toml : config.toml
cp $< $@

View file

@ -1,94 +0,0 @@
[buildPlans.IosevkaCustom]
family = "IosevkaCustom"
spacing = "term"
serifs = "sans"
noCvSs = true
exportGlyphNames = false
noLigation = true
[buildPlans.IosevkaCustom.variants]
inherits = "ss12"
[buildPlans.IosevkaCustom.variants.design]
one = "base"
two = "straight-neck-serifless"
five = "upright-arched-serifless"
six = "closed-contour"
eight = "crossing"
nine = "straight-bar"
zero = "slashed"
capital-d = "standard-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-m = "flat-bottom-serifless"
capital-q = "crossing"
capital-r = "straight-serifless"
capital-w = "straight-flat-top-serifless"
a = "single-storey-earless-corner-serifless"
f = "flat-hook-serifless-crossbar-at-x-height"
g = "single-storey-flat-hook-earless-corner"
i = "serifed"
j = "flat-hook-serifless"
l = "serifed"
m = "earless-corner-double-arch-serifless"
t = "flat-hook"
w = "straight-flat-top-serifless"
y = "straight-serifless"
lower-eth = "straight-bar"
tittle = "square"
diacritic-dot = "square"
punctuation-dot = "square"
braille-dot = "square"
asterisk = "turn-hex-low"
underscore = "above-baseline"
brace = "curly"
number-sign = "upright"
dollar = "interrupted"
question = "corner-flat-hooked"
pilcrow = "high"
lig-ltgteq = "slanted"
lig-equal-chain = "without-notch"
lig-hyphen-chain = "without-notch"
[buildPlans.IosevkaCustom.weights.Regular]
shape = 400
menu = 400
css = 400
[buildPlans.IosevkaCustom.weights.SemiBold]
shape = 600
menu = 600
css = 600
[buildPlans.IosevkaCustom.widths.Normal]
shape = 500
menu = 5
css = "normal"
[buildPlans.IosevkaCustom.slopes.Upright]
angle = 0
shape = "upright"
menu = "upright"
css = "normal"
[buildPlans.IosevkaCustom.ligations]
disables = [
"slash-asterisk",
"trig"
]
# enables = [
# "arrow-l",
# "arrow-r",
# "eqeq",
# "eqeqeq",
# "exeq",
# "exeqeq",
# "exeqeqeq",
# "lteq",
# "gteq",
# "ltgt-ne",
# "llgg",
# "llggeq",
# # "kern-dotty",
# # "kern-bars",
# "html-comment"
# ]

View file

@ -1,3 +0,0 @@
#!/bin/bash
sudo dnf install ttfautohint fontforge python3-fontforge

Binary file not shown.

Binary file not shown.

View file

@ -1,23 +0,0 @@
#!/bin/bash
BASE_PATH=$(dirname $(readlink -f $BASH_SOURCE))
TMP_DIR=${BASE_PATH}/.patcher
SCRIPT_FILE="$TMP_DIR/font-patcher"
URL=https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip
ZIP_FILE=patcher.zip
if [ ! -f $SCRIPT_FILE ];then
mkdir $TMP_DIR
if [ ! -f "$TMP_DIR/$ZIP_FILE" ]; then
curl -L -o "$TMP_DIR/$ZIP_FILE" ${URL}
fi
unzip "$TMP_DIR/$ZIP_FILE" -d $TMP_DIR
fi
for font in ${BASE_PATH}/dist/IosevkaCustom-*.ttf; do
$SCRIPT_FILE -out ${BASE_PATH}/dist -c $font
done

View file

@ -6,6 +6,7 @@ font-family = "IosevkaCustom Nerd Font"
font-style-bold = "SemiBold"
font-style = ""
font-size = 15
font-feature = -dlig, -liga, -calt
adjust-cell-width = 1
adjust-cell-height = 8
@ -25,6 +26,8 @@ cursor-style-blink = false
theme = skift
# Behavior
working-directory = home
window-inherit-working-directory = false
copy-on-select=clipboard
right-click-action=paste
clipboard-trim-trailing-spaces=true
@ -33,8 +36,8 @@ desktop-notifications=false
# Keybinds
keybind = "ctrl+click" = ignore
keybind = "shift+click" = open_url
# keybind = ctrl+click=ignore
# keybind = shift+click=open_url
# keybind = performable:ctrl+c=copy_to_clipboard
# keybind = performable:ctrl+v=paste_from_clipboard

2
git/conf.d/ignore Normal file
View file

@ -0,0 +1,2 @@
/.tmp
**/.claude/settings.local.json

View file

@ -1,6 +1,8 @@
[user]
email = henrik.hautakoski@gmail.com
name = Henrik Hautakoski
[core]
excludesFile = ~/.config/git/ignore
[pull]
rebase = true
[init]

View file

@ -12,7 +12,7 @@ $color_active_border = $color_border
$color_inactive_border = $color_border
# Set programs that you use
$terminal = alacritty
$terminal = ghostty
$menu = rofi -show drun
$run_prog = rofi -show run
$screenshot = grim -g "$(slurp)" - | wl-copy
@ -92,7 +92,6 @@ animations {
}
dwindle {
pseudotile = no # master switch for pseudotiling.
preserve_split = true
precise_mouse_move = true
}
@ -162,7 +161,6 @@ bind = $mainMod, S, exec, $screenshot
# Windows
bind = $mainMod, X, killactive,
bind = $mainMod, F, togglefloating,
bind = $mainMod, V, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
@ -208,7 +206,7 @@ bindm = $mainMod, mouse:273, resizewindow
# -------------
# Hyprland apps
exec-once = hypridle
exec-once=hypridle
# set wallpaper
exec-once=hyprpaper

View file

@ -1,8 +1,8 @@
splash = false
ipc = false
ipc = true
wallpaper {
monitor =
path = ~/.local/share/wallpapers/wallpaper.jpeg
fit_mode = fit
fit_mode = cover
}

View file

@ -4,36 +4,28 @@ description: Create well-formatted commits with conventional commit messages
# Commit Command
You are an AI agent that helps create well-formatted git commits with conventional commit messages, follow these instructions exactly. Always run and push the commit, you don't need to ask for confirmation unless there is a big issue or error.
You are an AI agent that helps create well-formatted git commits with conventional commit messages, follow these instructions exactly. Always run and NEVER push the commit, you don't need to ask for confirmation unless there is a big issue or error.
## Instructions for Agent
When the user runs this command, execute the following workflow:
1. **Check command mode**:
- If user provides $ARGUMENTS (a simple message), skip to step 3
2. **Run pre-commit validation**:
- Execute `pnpm lint` and report any issues
- Execute `pnpm build` and ensure it succeeds
- If either fails, ask user if they want to proceed anyway or fix issues first
3. **Analyze git status**:
1. **Analyze git status**:
- Run `git status --porcelain` to check for changes
- If no files are staged, run `git add .` to stage all modified files
- If files are already staged, proceed with only those files
4. **Analyze the changes**:
2. **Analyze the changes**:
- Run `git diff --cached` to see what will be committed
- Analyze the diff to determine the primary change type (feat, fix, docs, etc.)
- Identify the main scope and purpose of the changes
5. **Generate commit message**:
3. **Generate commit message**:
- Create message following format: `<type>: <description>`
- Keep description concise, clear, and in imperative mood
- Show the proposed message to user for confirmation
6. **Execute the commit**:
4. **Execute the commit**:
- Run `git commit -m "<generated message>"`
- Display the commit hash and confirm success
- Provide brief summary of what was committed
@ -90,6 +82,6 @@ Example commit sequence:
- **Error handling**: If validation fails, give user option to proceed or fix issues first
- **Auto-staging**: If no files are staged, automatically stage all changes with `git add .`
- **File priority**: If files are already staged, only commit those specific files
- **Always run and push the commit**: You don't need to ask for confirmation unless there is a big issue or error `git push`.
- **Never push the commit**: You must never under any circumstances execute `git push`.
- **Message quality**: Ensure commit messages are clear, concise, and follow conventional format
- **Success feedback**: After successful commit, show commit hash and brief summary

View file

@ -16,9 +16,9 @@
},
},
"mcp": {
"neuron-ai-doc": {
"linear": {
"type": "remote",
"url": "https://docs.neuron-ai.dev/~gitbook/mcp",
"url": "https://mcp.linear.app/mcp",
"enabled": true
}
}

View file

@ -10,7 +10,7 @@ export const Notify: Plugin = async ({ $ }) => {
return {
async event(input) {
if (input.event.type === "session.idle") {
await $`notify-send t 10000 "Opencode" "Your code is done!"`
await $`notify-send -t 10000 "Opencode" "Your code is done!" &> /dev/null`
}
},
}

View file

@ -1,4 +1,7 @@
{
"$schema": "https://opencode.ai/tui.json",
"theme": "custom"
"theme": "custom",
"keybinds": {
"app_exit": "<leader>q"
}
}

View file

@ -7,6 +7,7 @@ phpunit.enabled: true
code_transform.class_new.variants:
laravel-model: laravel-model
laravel-provider: laravel-provider
laravel-command: laravel-command
laravel-facade: laravel-facade
laravel-phpunit-test: laravel-phpunit-test
phpunit-test: phpunit-test

View file

@ -0,0 +1,22 @@
<?php
namespace {{ prototype.namespace }};
use Illuminate\Console\Attributes\Description;
use Illuminate\Console\Attributes\Signature;
use Illuminate\Console\Command;
{% for class in prototype.classes %}
#[Signature('app:{{ class.name | lower }}')]
#[Description('Command description')]
class {{ class.name }} extends Command
{
/**
* Execute the console command.
*/
public function handle()
{
//
}
}
{% endfor %}