Compare commits

..

96 Commits

Author SHA256 Message Date
a3d33d3c6f wifi 2025-06-29 15:48:47 +02:00
30e4e81215 wifi 2025-06-29 15:38:34 +02:00
7d00eb1f57 wifi 2025-06-29 15:24:14 +02:00
5ce5d5c702 wifi menu ændret 2025-06-29 15:12:31 +02:00
1c2018bf67 style 2025-06-29 15:02:05 +02:00
424f7e69b1 Moderniseret wifi vælger 2025-06-29 14:50:33 +02:00
329c54f5e5 fikset wifi menu så der også kan vælges wifi netværk med kode 2025-06-29 14:21:21 +02:00
db13a0d2cc sddm theme 2025-06-25 21:25:22 +02:00
46633276d4 sddm changes 2025-06-25 21:05:13 +02:00
afede13173 sddm rettelser 2025-06-25 20:41:03 +02:00
ad40ce617f mini fejl rettet 2025-06-25 19:32:47 +02:00
d921d1a8cc flere rettigheder 2025-06-25 19:16:53 +02:00
57be4c7921 rettigheder rettet 2025-06-25 19:15:03 +02:00
89f99c435c baggrund billede mappe sddm 2025-06-25 19:12:34 +02:00
79f37bafac fixed location sddm wallpaper 2025-06-25 18:55:28 +02:00
4d9af6ed45 fixed problem med sddm 2025-06-25 15:50:26 +02:00
71a2b86552 stavefejl rettet 2025-06-25 15:42:54 +02:00
382435255a sti til billede rettet 2025-06-25 12:33:31 +02:00
1be6189448 sddm styling 2025-06-25 12:25:07 +02:00
2cb0da9648 minor error 2025-06-24 22:38:33 +02:00
6cd9521631 fiks til sort skærm efter dvale 2025-06-24 22:34:16 +02:00
006daa570b fix til lock screen 2025-06-24 19:30:07 +02:00
353d8276aa styling opdatering 2025-06-24 19:19:50 +02:00
523cf64614 styling sddm 2025-06-23 22:23:48 +02:00
ac24355f28 styles swaylock 2025-06-23 22:16:50 +02:00
9110ba0736 opdatering swaylock 2025-06-23 22:00:57 +02:00
9e15b93916 iptables-nft 2025-06-23 20:25:21 +02:00
3e3fe3f087 tilbage rettet 2025-06-23 19:48:19 +02:00
eeec7cd9f2 Tilrettelse pga. ændringer i arch pakker 2025-06-23 19:45:04 +02:00
65f401e67f Tilføjet lock screen 2025-06-23 19:29:05 +02:00
25f5c2a880 mic tast opdateret 2025-06-20 22:12:07 +02:00
09049da380 Mikrofon tast 2025-06-20 21:41:23 +02:00
52b9f93ed9 skærm lysstyrke taster 2025-06-20 21:30:27 +02:00
6a23eb6ca8 media key volume 2025-06-20 21:18:18 +02:00
54114535b7 wifi 2025-06-19 22:54:25 +02:00
cebdebcebe wifi 2025-06-19 22:36:52 +02:00
584f397d37 wifi 2025-06-19 22:28:31 +02:00
c83fb652b8 wifi 2025-06-19 22:19:36 +02:00
31d1b88011 wifi 2025-06-19 22:19:21 +02:00
dbda70ac61 højde selvbestemmelse wofi 2025-06-19 17:17:41 +02:00
b3ebc1be03 --conf-file I stedet for --conf 2025-06-19 09:29:03 +00:00
dbc27a02b0 rettet fejl 2025-06-18 21:53:29 +02:00
a90bbc75f6 fejl 2025-06-18 21:33:09 +02:00
0cd91f0e30 network forberdringer 2025-06-18 21:27:39 +02:00
f1b64bbf39 netwærksmenu 2025-06-18 20:39:08 +02:00
7f60b7afec waybar config 2025-06-18 20:17:55 +02:00
dc500911d6 glemte local.yml 2025-06-18 20:11:25 +02:00
6bab2d7892 sammenkørsel af netwærksapplet 2025-06-18 20:09:38 +02:00
a3623b2e77 det samme 2025-06-18 19:56:22 +02:00
6bfcac0b65 wifi vælger tilføjet waybar 2025-06-18 19:56:17 +02:00
339ee40290 rettelse af rettigheder i local.yml 2025-06-18 19:44:26 +02:00
4f5cd7bf95 neofetch 2025-06-18 19:34:50 +02:00
c09fd0ec5c skrue op og ned direkte fra waybar 2025-06-18 19:26:20 +02:00
05479fab52 fejl rettelser waybar 2025-06-18 18:52:50 +02:00
ef8c484214 lyd firmware 2025-06-18 18:35:16 +02:00
9994bd27fb lyd opsætning i waybar og installation af pipewire 2025-06-18 18:13:12 +02:00
41d633a57d waybar styling 2025-06-18 17:43:52 +02:00
eef0fcecde rettelser 2025-06-18 17:36:12 +02:00
9e0d75ca52 opgradering af wallpaper
hmm
2025-06-18 17:18:17 +02:00
41d1936b58 tilføjet fil håndterings værktøjer 2025-06-17 20:11:54 +02:00
dbedf90b4a flyt og ændre størrelse på vinduer 2025-06-17 19:25:57 +02:00
ff287aed5f stylet kitty 2025-06-17 19:13:31 +02:00
e9bb90aea2 kitty 2025-06-16 22:28:02 +02:00
31b8df3160 fixes til kitty 2025-06-16 22:20:56 +02:00
64dd80dc66 test 2025-06-16 21:28:21 +02:00
6f292f881f wofi opdatering 2025-06-16 21:15:56 +02:00
eab1e9648c wofi opd. 2025-06-16 20:31:36 +02:00
ea7627dc01 wofi opdatering 2025-06-16 20:27:28 +02:00
558ffbd961 wofi-config opdateret 2025-06-16 20:19:54 +02:00
a058b82edf wofi-config opdateret 2025-06-16 20:06:06 +02:00
24a63cd0b3 ikoner tilføjet wofi 2025-06-16 19:48:48 +02:00
9fa1d06bd8 mindre rettelse 2025-06-16 19:07:44 +02:00
b9e276e36f waybar config rettet 2025-06-16 18:55:16 +02:00
b7c874d949 Script til application menu 2025-06-16 18:43:57 +02:00
fd9791e633 flere fejl rettelser 2025-06-15 22:23:17 +02:00
5c04c97279 cheat sheet rettelser 2025-06-15 20:57:06 +02:00
2851058ef1 styling wofi 2025-06-15 19:59:51 +02:00
4929594133 glemte lige endnu en mindre rettelse 2025-06-15 19:42:10 +02:00
741790ef22 endnu en cheat sheet rettelse 2025-06-15 19:37:41 +02:00
8139d2d3ea rettelser til keybindings cheat sheet 2025-06-15 19:33:01 +02:00
5794161c08 lavet så man kan få en oversigt over keybindings 2025-06-15 17:41:18 +02:00
Mikkel Harboe Arp Henriksen
2828a2a8ac changed browser to firefox 2025-06-14 19:02:07 +02:00
Mikkel Harboe Arp Henriksen
01827ca38e opdatering 2025-06-14 19:00:10 +02:00
Mikkel Harboe Arp Henriksen
67ac6a146d install zen browser 2025-06-14 18:56:16 +02:00
Mikkel Harboe Arp Henriksen
3801d267b5 lille opdatering 2025-06-14 18:13:04 +02:00
Mikkel Harboe Arp Henriksen
1ab2c411ee fejl i wallpaper rettet 2025-06-14 17:49:33 +02:00
Mikkel Harboe Arp Henriksen
8ac6f55bc8 rettelse af sti wallpaper 2025-06-14 17:43:40 +02:00
Mikkel Harboe Arp Henriksen
038cb1c4cc lille rettelse i hyprland.conf.j2 2025-06-14 17:40:54 +02:00
Mikkel Harboe Arp Henriksen
3c23a16d02 wallpaper rettelser 2025-06-14 17:36:20 +02:00
Mikkel Harboe Arp Henriksen
1692a333ac fikset nogle stier 2025-06-14 17:18:18 +02:00
Mikkel Harboe Arp Henriksen
0a25f34677 ?? 2025-06-14 17:03:39 +02:00
Mikkel Harboe Arp Henriksen
e9b68d1f62 mindre fejl rettelse 2025-06-14 16:33:55 +02:00
Mikkel Harboe Arp Henriksen
4ba10c6626 ændre ret en del i pull.sh 2025-06-14 16:29:54 +02:00
Mikkel Harboe Arp Henriksen
0d856c7903 fejl rettelser 2025-06-14 16:11:19 +02:00
Mikkel Harboe Arp Henriksen
c5724890b4 rettet en stave fejl 2025-06-14 16:05:56 +02:00
Mikkel Harboe Arp Henriksen
6421c9e167 rettet stavefejl 2025-06-14 16:03:18 +02:00
17 changed files with 803 additions and 74 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 2.0 MiB

181
local.yml
View File

@@ -7,12 +7,12 @@
# Definer variabler for at gøre playbook'en genbrugelig
vars:
vault_username: !vault |
$ANSIBLE_VAULT;1.1;AES256
65333337373432643531656532653939343663656364613964346637663862636464323236633636
3065653162376666666666643061636162353835353034660a656134643363383663386335613338
61646633303331663761323630346363316238643036373539346630333966656637643039613965
6565313362393234380a396461636661356362633534323366633164623831623135633631383334
3062
$ANSIBLE_VAULT;1.1;AES256
61396435643466353531373139343364613266303130323533306461316333313631363130373465
6632663034376535663566353661366132656539326566320a323734313061303131623962303339
66333664613636653362316133666561353039623961393930346661613064306234326161343030
3335353266393066320a336233366636633566363566613866613263303362656464353166346237
3236
username: "{{ vault_username }}" # ERSTAT med det brugernavn du oprettede i Arch-installationen.
# Hvis du ikke har brug for at kryptere dit brugernavn kan du skrive det direkte i her.
@@ -45,6 +45,8 @@
creates: "/usr/bin/{{ aur_helper }}"
- name: "PAKKER :: Installer alle nødvendige pakker fra Pacman og AUR"
become: true
become_user: "{{ username }}"
kewlfft.aur.aur:
use: "{{ aur_helper }}"
name:
@@ -67,14 +69,47 @@
- grim # Screenshot værktøj
- slurp # Område-vælger til screenshots
- network-manager-applet # Til Waybar tray
- hyprpaper
- sddm # Login Manager
- firefox # Browser
- flatpak
- vscodium # Udviklings editor
- papyrus-icon-theme # Ikon tema til wofi drun
- thunar
- thunar-volman
- tumbler
- gvfs
- ranger
- less
- sof-firmware
- pavucontrol
- pipewire
- pipewire-pulse
- pipewire-audio
- pipewire-alsa
- wireplumber
- alsa-utils
- neofetch
- swayidle
- swaylock-effects
- iptables-nft
- sddm-sugar-candy-git
- ufw # Firewall
state: present
- name: "KEYBINDING SCRIPT :: Opret .local/bin mappe til brugerdefinerede scripts"
become: true
become_user: "{{ username }}"
ansible.builtin.file:
path: "/home/{{ username }}/.local/bin"
state: directory
mode: '0755'
- name: "BRUGER :: Opret konfigurationsmapper"
become: true
become_user: "{{ username }}"
ansible.builtin.file:
path: "{{ ansible_user_dir }}/.config/{{ item }}"
path: "/home/{{ username }}/.config/{{ item }}"
state: directory
mode: '0755'
loop:
@@ -89,13 +124,29 @@
become_user: "{{ username }}"
ansible.builtin.template:
src: "templates/{{ item.src }}"
dest: "{{ ansible_user_dir }}/.config/{{ item.dest }}"
dest: "/home/{{ username }}/.config/{{ item.dest }}"
mode: '0644'
loop:
- { src: 'hyprland.conf.j2', dest: 'hypr/hyprland.conf' }
- { src: 'kitty.conf.j2', dest: 'kitty/kitty.conf' }
- { src: 'waybar-config.j2', dest: 'waybar/config' }
- { src: 'waybar-style.css.j2', dest: 'waybar/style.css' }
- { src: 'wofi-config.j2', dest: 'wofi/config' }
- { src: 'wofi-style.css.j2', dest: 'wofi/style.css' }
- { src: 'wofi-config-network.j2', dest: 'wofi/config-network'}
- name: "SCRIPTS :: Kopier og gør brugerdefinerede scripts eksekverbare"
become: true
become_user: "{{ username }}"
ansible.builtin.template:
src: "templates/{{ item.src }}"
dest: "/home/{{ username }}/.local/bin/{{ item.dest }}"
mode: '0755' # Bemærk: '755' gør dem eksekverbare
loop:
- { src: 'hypr-keys.sh.j2', dest: 'hypr-keys.sh' }
- { src: 'launch-wofi.sh.j2', dest: 'launch_wofi.sh' }
- { src: 'launch-wifi-menu.sh.j2', dest: 'launch-wifi-menu.sh' }
- { src: 'lock-screen.sh.j2', dest: 'lock-screen.sh' }
- name: "TEMA :: Installer Atlantis skrifttype"
ansible.builtin.copy:
@@ -104,12 +155,49 @@
mode: '0644'
notify: Opdater font cache
- name: "BRUGER :: Opret Pictures-mappen"
become: true
become_user: "{{ username }}"
ansible.builtin.file:
path: "/home/{{ username }}/Pictures"
state: directory
mode: '0755'
- name: "TEMA :: Kopier Atlantis baggrundsbillede"
become: true
become_user: "{{ username }}"
ansible.builtin.copy:
src: "files/wallpapers/atlantis-wallpaper.jpg"
dest: "{{ ansible_user_dir }}/Pictures/atlantis-wallpaper.jpg"
src: "files/wallpapers/atlantis_wallpaper.jpg"
dest: "/home/{{ username }}/Pictures/atlantis-wallpaper.jpg"
mode: '0644'
- name: "BRUGER :: Opret sddm bagrundsmappe"
become: true
ansible.builtin.file:
path: "/usr/share/backgrounds"
state: directory
mode: '0755'
- name: "TEMA :: Kopier Atlantis baggrundsbillede"
become: true
ansible.builtin.copy:
src: "files/wallpapers/atlantis_spaceship.jpg"
dest: "/usr/share/backgrounds/atlantis-spaceship.jpg"
mode: '0644'
- name: "TEMA :: Kopier hyprpaper konfiguration"
become: true
become_user: "{{ username }}"
ansible.builtin.template:
src: "templates/hyprpaper.conf.j2"
dest: "/home/{{ username }}/.config/hypr/hyprpaper.conf"
mode: '0644'
- name: "STYLING :: Konfigurer SDDM tema via template (endelig, ren version)"
become: true
ansible.builtin.template:
src: templates/sddm-theme.conf.j2
dest: /usr/share/sddm/themes/sugar-candy/theme.conf
mode: '0644'
- name: "FIREWALL :: Konfigurer UFW's standardpolitikker"
@@ -132,20 +220,91 @@
# name: OpenSSH # Bruger UFW's applikationsprofil for SSH
# tags: firewall
- name: "FLATPAK :: Installer LibreOffice"
become: true
become_user: "{{ username }}"
community.general.flatpak:
name: org.libreoffice.LibreOffice
state: present
- name: "SHELL :: Tilføj neofetch til .bashrc for automatisk kørsel"
become: true
become_user: "{{ username }}"
ansible.builtin.blockinfile:
path: "/home/{{ username }}/.bashrc"
create: true # Opretter .bashrc filen, hvis den ikke findes
owner: "{{ username }}"
group: "{{ username }}"
mode: '0644'
marker: "# {mark} ANSIBLE MANAGED BLOCK - NEOFETCH"
block: |
# Kør neofetch når en ny interaktiv terminal åbnes
# Tjekker om 'neofetch' kommandoen eksisterer først
if command -v neofetch &> /dev/null
then
neofetch
fi
- name: "FIREWALL :: Aktiver og start UFW service"
community.general.ufw:
state: enabled # Dette aktiverer firewallen, så den starter ved boot
tags: firewall
- name: "SERVICES :: Aktiver NetworkManager"
ansible.builtin.systemd:
name: NetworkManager
enabled: true
state: started
- name: "SERVICES :: Aktiver Display Manager (SDDM)"
ansible.builtin.systemd:
name: sddm.service
enabled: true
- name: "STYLING :: Opret GTK3 konfigurationsmappe"
become: true
become_user: "{{ username }}"
ansible.builtin.file:
path: "/home/{{ username }}/.config/gtk-3.0"
state: directory
mode: '0755'
- name: "STYLING :: Sæt GTK-tema og Papirus som standard ikon-tema"
become: true
become_user: "{{ username }}"
ansible.builtin.copy:
dest: "/home/{{ username }}/.config/gtk-3.0/settings.ini"
content: |
[Settings]
gtk-theme-name=Adwaita
gtk-icon-theme-name=Papirus
gtk-font-name=JetBrains Mono 11
gtk-cursor-theme-name=Adwaita
mode: '0644'
- name: "HARDWARE :: Detekter om systemet har Intel GPU"
become: true
ansible.builtin.shell: "lspci | grep -i 'VGA' | grep -i 'Intel'"
register: intel_gpu_check
changed_when: false
failed_when: false
- name: "KERNEL :: Deaktiver Panel Self Refresh (kun for Intel GPU)"
become: true
ansible.builtin.lineinfile:
path: /etc/default/grub
regexp: '^(GRUB_CMDLINE_LINUX_DEFAULT="((?!i915\.enable_psr=0).)*?)"$'
line: '\1 i915.enable_psr=0"'
backrefs: yes
notify: Regenerate GRUB config
when: intel_gpu_check.rc == 0
# Handlers køres kun hvis en opgave 'notifierer' dem
handlers:
- name: Regenerate GRUB config
become: true
ansible.builtin.command: grub-mkconfig -o /boot/grub/grub.cfg
- name: Opdater font cache
ansible.builtin.command: fc-cache -fv
become: true

54
pull.sh
View File

@@ -1,48 +1,66 @@
#!/bin/bash
# Stop ved fejl
# Stop scriptet ved den mindste fejl
set -e
# Sørg for at scriptet køres som root
# --- TRIN 1: KØRES SOM ROOT ---
# Tjek om scriptet køres med sudo
if [[ $EUID -ne 0 ]]; then
echo "Dette script skal køres som root"
echo "Dette script skal køres som root (brug 'sudo ./pull.sh')"
exit 1
fi
# Tjek om vi ved, hvem den oprindelige bruger er
# Tjek at vi ved, hvem den oprindelige bruger er
if [ -z "$SUDO_USER" ]; then
echo "FEJL: Kan ikke finde den oprindelige bruger. Kør venligst scriptet med 'sudo' og ikke direkte som root."
echo "FEJL: Kan ikke finde den oprindelige bruger. Kør venligst scriptet med 'sudo' og ikke direkte som root-bruger."
exit 1
fi
# Opdater systemet og installer nødvendige pakker
echo ">>> Opdaterer systemet og installerer Git og Ansible..."
echo "--- Systemopsætning (kører som root) ---"
# Opdater systemet og installer de nødvendige grundpakker
echo ">>> Installerer git og ansible..."
pacman -Syu --noconfirm git ansible
# Installer de nødvendige Ansible Collections
echo ">>> Installerer nødvendige Ansible collections..."
aansible-galaxy collection install kewlfft.aur
echo ">>> Installerer ansible collections..."
ansible-galaxy collection install kewlfft.aur
ansible-galaxy collection install community.general
# Klon dit repository (ERSTAT MED DIN REPOSITORY URL)
# --- TRIN 2: HENT PLAYBOOK (KØRES SOM ROOT) ---
# Definer stier (erstat med din egen repo-URL)
REPO_URL="https://git.futurebreeze.dk/mhah/Workstation_Arch_Hyprland.git"
DEST="/opt/ansible-desktop"
echo ">>> Henter playbook fra git..."
if [ -d "$DEST" ]; then
echo ">>> Opdaterer eksisterende repository..."
cd "$DEST"
# Sørg for at den lokale branch ikke forhindrer pull
git reset --hard HEAD
git pull
else
echo ">>> Kloner repository..."
# Tilføj -k til curl/git hvis du bruger selv-signerede certifikater
git clone "$REPO_URL" "$DEST"
fi
# Sørg for at den oprindelige bruger ejer filerne i repo'et
# Sørg for at den oprindelige bruger ejer alle filerne
echo ">>> Sætter korrekte filrettigheder..."
chown -R $SUDO_USER:$SUDO_USER "$DEST"
# Kør Ansible Playbook
echo ">>> Kører Ansible Playbook. Dette kan tage noget tid..."
cd "$DEST"
sudo -u $SUDO_USER ansible-pull -U "$REPO_URL" -d "$DEST" --ask-vault-pass local.yml
echo ">>> Færdig! Genstart systemet for at se ændringerne."
# --- TRIN 3: KØR PLAYBOOK (SKIFTER TIL DIN BRUGER) ---
echo ""
echo "--- Udfører Ansible Playbook (skifter til bruger '$SUDO_USER') ---"
echo "Gør dig klar til at indtaste din Vault adgangskode..."
echo ""
# Skift til den oprindelige bruger og kør playbook'en
# Brugen af 'bash -c' sikrer, at kommandoerne køres korrekt i den rigtige kontekst
sudo -u $SUDO_USER bash -c "cd '$DEST' && ansible-playbook --ask-vault-pass --ask-become-pass local.yml"
# --- TRIN 4: FÆRDIG ---
echo ""
echo "--- Script fuldført! ---"
echo "Playbook er kørt færdig. Du kan nu genstarte dit system."

View File

@@ -0,0 +1,7 @@
#!/bin/bash
# Denne kommando finder alle linjer der starter med 'bind =',
# fjerner unødvendige tegn, og viser dem i wofi.
grep -oP '^bind\s*=\s*.*' ~/.config/hypr/hyprland.conf | \
sed -e 's/bind = //' -e 's/SUPER/WIN/' | \
wofi --show dmenu --conf "$HOME/.config/wofi/config" --style "$HOME/.config/wofi/style.css" -p "Hyprland Keybindings"

View File

@@ -1,19 +1,172 @@
# Stargate Atlantis Farver
# ===== Hyprland Hovedkonfiguration - Stargate Atlantis Tema =====
# ---------------------------------------------------
# Sektion 1: Autostart (Programmer der starter med Hyprland)
# VIGTIGT: Disse linjer manglede!
# ---------------------------------------------------
exec-once = waybar &
exec-once = hyprpaper &
exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
exec-once = swayidle -w \
timeout 300 '/home/{{ username }}/.local/bin/lock-screen.sh' \
timeout 330 'hyprctl dispatch dpms off' \
resume 'hyprctl dispatch dpms on' \
timeout 600 'systemctl suspend' \
before-sleep '/home/{{ username }}/.local/bin/lock-screen.sh'
exec-once = nm-applet --indicator &
# ---------------------------------------------------
# Sektion 2: Skærmindstillinger
# ---------------------------------------------------
# Se https://wiki.hyprland.org/Configuring/Monitors/ for flere detaljer
monitor=,preferred,auto,1
# ---------------------------------------------------
# Sektion 3: Environment Variabler
# ---------------------------------------------------
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct # For at Qt-apps ser pænere ud
# ---------------------------------------------------
# Sektion 4: Input Indstillinger (Tastatur & Mus)
# ---------------------------------------------------
input {
kb_layout = dk
kb_variant =
kb_model =
kb_options = grp:alt_shift_toggle # Gør det muligt at tilføje flere layouts og skifte med Alt+Shift
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 til 1.0, 0 betyder ingen ændring
}
# ---------------------------------------------------
# Sektion 5: Generelle Indstillinger & Udseende
# ---------------------------------------------------
general {
gaps_in = 5
gaps_out = 10
border_size = 2
# Klar blå ramme om aktivt vindue med en lys 'glow'
# Stargate Atlantis farver
col.active_border = rgba(00a0ffff) rgba(ffffffaa) 45deg
# Sølv/lysegrå ramme om inaktivt vindue
col.inactive_border = rgba(ccccccaa)
layout = dwindle # Tiling layout
}
decoration {
rounding = 3 # Lidt skarpere kanter passer godt til Lantean-design
# ... resten af dine indstillinger ...
# Overvej en hvidlig skygge for at efterligne lys
col.shadow = rgba(fdfdfdaa)
# Generel dekoration
rounding = 3
# Blur-effekt for gennemsigtighed
blur {
enabled = true
size = 3
passes = 1
new_optimizations = true
}
# Skygge-effekt omkring vinduer
shadow {
enabled = yes
range = 4
render_power = 3
color = 0xee1a1a1a
}
}
exec-once = hyprpaper -c {{ ansible_user_dir }}/.config/hypr/hyprpaper.conf
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# ---------------------------------------------------
# Sektion 6: Keybindings (Genvejstaster)
# ---------------------------------------------------
$mainMod = SUPER # "Super" er Windows-tasten
# Grundlæggende navigation
bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exit, # Afslut Hyprland session
# bind = $mainMod, D, exec, wofi --show drun --conf /home/{{ username }}/.config/wofi/config --style /home/{{ username }}/.config/wofi/style.css
bind = $mainMod, D, exec, wofi --show drun
bind = $mainMod, F, fullscreen,
# Genveje til filbrowsere
bind = $mainMod, E, exec, thunar
bind = $mainMod, T, exec, kitty -e ranger
# Flyt fokus med piletaster
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Flyt det aktive vindue
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# Ændr størrelse på det aktive vindue
bind = $mainMod CTRL, left, resizeactive, -20 0
bind = $mainMod CTRL, right, resizeactive, 20 0
bind = $mainMod CTRL, up, resizeactive, 0 -20
bind = $mainMod CTRL, down, resizeactive, 0 20
# Skift til workspace 1-9
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
# Flyt aktivt vindue til workspace 1-9
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
# Vis keybindings i en wofi menu
bind = $mainMod, SPACE, exec, ~/.local/bin/hypr-keys.sh
# Volume control
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
# Screen brightness
bind = , XF86MonBrightnessUp, exec, brightnessctl set +5%
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
# Microphone mute
bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
# Lock Screen
bind = $mainMod, L, exec, /home/{{ username }}/.local/bin/lock-screen.sh

View File

@@ -0,0 +1,5 @@
# Preload billedet for hurtigere indlæsning
preload = /home/{{ username }}/Pictures/atlantis-wallpaper.jpg
# Sæt wallpaper til det preloaded billede
wallpaper = ,/home/{{ username }}/Pictures/atlantis-wallpaper.jpg

View File

@@ -1,16 +1,67 @@
# Stargate Atlantis Font og Farver
# ===== Forbedret Kitty Konfiguration - Stargate Atlantis / Catppuccin =====
# --- Skrifttyper ---
font_family JetBrains Mono Nerd Font
bold_font auto
italic_font auto
bold_italic_font auto
font_size 12.0
# Lys tema med blå tekst
background #e6f7ff /* Meget lys blå/hvid */
foreground #005f87 /* Mørk, læsbar blå */
cursor #00aaff /* Klar blå cursor */
selection_background #00aaff
selection_foreground #ffffff
# Aktivt vindue glow-effekt
active_border_color #00aaff
# --- Udseende & Følelse ---
# Juster gennemsigtighed efter smag
# "Frosted Glass" Effekt: Sæt gennemsigtighed (0.0 til 1.0).
# Selve blur-effekten styres af den 'blur'-sektion, vi allerede har lavet i hyprland.conf.
background_opacity 0.85
# Skjul vinduesdekorationer (title bar) for et renere look i et tiling environment
hide_window_decorations yes
# Tilføj lidt luft omkring teksten for et pænere layout
window_padding_width 10
# --- Cursor ---
cursor_shape beam
cursor_beam_thickness 1.5
# --- Farvetema: Catppuccin Macchiato ---
# Dette er et komplet farvetema, der giver farver til 'ls', 'git', etc.
# Det passer rigtig godt med vores blå/grå Atlantis-tema.
background #24273a
foreground #cad3f5
cursor #f4dbd6
selection_background #363a4f
# Sorte farver
color0 #494d64
color8 #5b6078
# Røde farver
color1 #ed8796
color9 #ed8796
# Grønne farver
color2 #a6da95
color10 #a6da95
# Gule farver
color3 #eed49f
color11 #eed49f
# Blå farver
color4 #8aadf4
color12 #8aadf4
# Magenta farver
color5 #f5bde6
color13 #f5bde6
# Cyan farver
color6 #8bd5ca
color14 #8bd5ca
# Hvide farver
color7 #b8c0e0
color15 #a5adce

View File

@@ -0,0 +1,33 @@
#!/bin/bash
# Et robust script til at vælge og forbinde til Wi-Fi.
# Denne version kalder nmcli direkte i et nyt kitty-vindue.
# Viser listen af netværk i vores stylede wofi-menu
CHOSEN_SSID=$(nmcli -t -f SSID,IN-USE device wifi list --rescan yes | sed '/\*/d' | sed 's/\\:/-/g' | sort -u | wofi \
--show dmenu \
--conf "$HOME/.config/wofi/config-network" \
--style "$HOME/.config/wofi/style.css" \
-p "Vælg Wi-Fi Netværk")
# Afslut hvis intet blev valgt (brugeren trykkede Esc)
if [ -z "$CHOSEN_SSID" ]; then
exit 0
fi
CHOSEN_SSID="${CHOSEN_SSID%?}"
# Tjek om vi allerede er forbundet til det valgte netværk
if nmcli connection show --active | grep -wq "^${CHOSEN_SSID}"; then
exit 0
fi
# Tjek om der findes en gemt forbindelse med dette navn
if nmcli connection show | grep -wq "^${CHOSEN_SSID}"; then
# Hvis ja, aktiver den i et nyt kitty-vindue
kitty --title "Forbinder til ${CHOSEN_SSID}..." nmcli connection up "$CHOSEN_SSID"
else
# Hvis nej, er det et nyt netværk.
# Åbn en ny terminal, der kører 'nmcli' med '--ask' flaget for at bede om password.
kitty --title "Adgangskode til ${CHOSEN_SSID}" nmcli device wifi connect "$CHOSEN_SSID" --ask
fi

View File

@@ -0,0 +1,4 @@
#!/bin/bash
# Køre wofi application menu
wofi --show drun --conf "$HOME/.config/wofi/config" --style "$HOME/.config/wofi/style.css"

View File

@@ -0,0 +1,19 @@
#!/bin/bash
# Script til at starte swaylock med et "Stargate Atlantis" tema
swaylock \
--screenshots \
--clock \
--indicator \
--indicator-radius 100 \
--indicator-thickness 7 \
--effect-blur 7x5 \
--effect-vignette 0.5:0.5 \
--ring-color 00aaff \
--key-hl-color 89b4fa \
--line-color 00000000 \
--inside-color 00000088 \
--separator-color 00000000 \
--text-color cdd6f4 \
--font "JetBrains Mono Nerd Font"

View File

@@ -0,0 +1,140 @@
# templates/sddm-theme.conf.j2
# ===== SDDM Tema Konfiguration - Stargate Atlantis =====
[General]
Background="/usr/share/backgrounds/atlantis-spaceship.jpg"
## Path relative to the theme root directory. Most standard image file formats are allowed including support for transparency. (e.g. background.jpeg/illustration.GIF/Foto.png/undraw.svgz)
DimBackgroundImage="0.0"
## Double between 0 and 1 used for the alpha channel of a darkening overlay. Use to darken your background image on the fly.
ScaleImageCropped="true"
## Whether the image should be cropped when scaled proportionally. Setting this to false will fit the whole image instead, possibly leaving white space. This can be exploited beautifully with illustrations (try it with "undraw.svg" included in the theme).
ScreenWidth="1920"
ScreenHeight="1080"
## Adjust to your resolution to help SDDM speed up on calculations
## [Blur Settings]
FullBlur="false"
PartialBlur="true"
## Enable or disable the blur effect; if HaveFormBackground is set to true then PartialBlur will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
BlurRadius="100"
## Set the strength of the blur effect. Anything above 100 is pretty strong and might slow down the rendering time. 0 is like setting false for any blur.
## [Design Customizations]
HaveFormBackground="false"
## Have a full opacity background color behind the form that takes slightly more than 1/3 of screen estate; if PartialBlur is set to true then HaveFormBackground will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
FormPosition="left"
## Position of the form which takes roughly 1/3 of screen estate. Can be left, center or right.
BackgroundImageHAlignment="center"
## Horizontal position of the background picture relative to its visible area. Applies when ScaleImageCropped is set to false or when HaveFormBackground is set to true and FormPosition is either left or right. Can be left, center or right; defaults to center if none is passed.
BackgroundImageVAlignment="center"
## As before but for the vertical position of the background picture relative to its visible area.
MainColor="white"
## Used for all elements when not focused/hovered etc. Usually the best effect is achieved by having this be either white or a very dark grey like #444 (not black for smoother antialias)
## Colors can be HEX or Qt names (e.g. red/salmon/blanchedalmond). See https://doc.qt.io/qt-5/qml-color.html
AccentColor="#fb884f"
## Used for elements in focus/hover/pressed. Should be contrasting to the background and the MainColor to achieve the best effect.
BackgroundColor="#444"
## Used for the user and session selection background as well as for ScreenPadding and FormBackground when either is true. If PartialBlur and FormBackground are both enabled this color will blend with the blur effect.
OverrideLoginButtonTextColor=""
## The text of the login button may become difficult to read depending on your color choices. Use this option to set it independently for legibility.
InterfaceShadowSize="6"
## Integer used as multiplier. Size of the shadow behind the user and session selection background. Decrease or increase if it looks bad on your background. Initial render can be slow no values above 5-7.
InterfaceShadowOpacity="0.6"
## Double between 0 and 1. Alpha channel of the shadow behind the user and session selection background. Decrease or increase if it looks bad on your background.
RoundCorners="20"
## Integer in pixels. Radius of the input fields and the login button. Empty for square. Can cause bad antialiasing of the fields.
ScreenPadding="0"
## Integer in pixels. Increase or delete this to have a padding of color BackgroundColor all around your screen. This makes your login greeter appear as if it was a canvas. Cool!
Font="Noto Sans"
## If you want to choose a custom font it will have to be available to the X root user. See https://wiki.archlinux.org/index.php/fonts#Manual_installation
FontSize=""
## Only set a fixed value if fonts are way too small for your resolution. Preferrably kept empty.
## [Interface Behavior]
ForceRightToLeft="false"
## Revert the layout either because you would like the login to be on the right hand side or SDDM won't respect your language locale for some reason. This will reverse the current position of FormPosition if it is either left or right and in addition position some smaller elements on the right hand side of the form itself (also when FormPosition is set to center).
ForceLastUser="true"
## Have the last successfully logged in user appear automatically in the username field.
ForcePasswordFocus="true"
## Give automatic focus to the password field. Together with ForceLastUser this makes for the fastest login experience.
ForceHideCompletePassword="false"
## If you don't like to see any character at all not even while being entered set this to true.
ForceHideVirtualKeyboardButton="false"
## Do not show the button for the virtual keyboard at all. This will completely disable functionality for the virtual keyboard even if it is installed and activated in sddm.conf
ForceHideSystemButtons="false"
## Completely disable and hide any power buttons on the greeter.
AllowEmptyPassword="false"
## Enable login for users without a password. This is discouraged. Makes the login button always enabled.
AllowBadUsernames="false"
## Do not change this! Uppercase letters are generally not allowed in usernames. This option is only for systems that differ from this standard! Also shows username as is instead of capitalized.
## [Locale Settings]
Locale=""
## The time and date locale should usually be set in your system settings. Only hard set this if something is not working by default or you want a seperate locale setting in your login screen.
HourFormat="HH:mm"
## Defaults to Locale.ShortFormat - Accepts "long" or a custom string like "hh:mm A". See http://doc.qt.io/qt-5/qml-qtqml-date.html
DateFormat="dddd, d of MMMM"
## Defaults to Locale.LongFormat - Accepts "short" or a custom string like "dddd, d 'of' MMMM". See http://doc.qt.io/qt-5/qml-qtqml-date.html
## [Translations]
HeaderText="Welcome!"
## Header can be empty to not display any greeting at all. Keep it short.
## SDDM may lack proper translation for every element. Suger defaults to SDDM translations. Please help translate SDDM as much as possible for your language: https://github.com/sddm/sddm/wiki/Localization. These are in order as they appear on screen.
TranslatePlaceholderUsername=""
TranslatePlaceholderPassword=""
TranslateShowPassword=""
TranslateLogin=""
TranslateLoginFailedWarning=""
TranslateCapslockWarning=""
TranslateSession=""
TranslateSuspend=""
TranslateHibernate=""
TranslateReboot=""
TranslateShutdown=""
TranslateVirtualKeyboardButton=""
## These don't necessarily need to translate anything. You can enter whatever you want here.

View File

@@ -2,7 +2,7 @@
// Generelle indstillinger for Waybar
"layer": "top",
"position": "top",
"height": 30,
"height": 40,
"spacing": 4,
// Moduler placeret til venstre
@@ -29,7 +29,7 @@
"custom/atlantis-logo": {
"format": "ﯓ", // Erstat med et tegn fra din Lantean-skrifttype
"tooltip": false,
"on-click": "wofi --show drun" // Åbner app-menu ved klik
"on-click": "/home/{{ username }}/.local/bin/launch_wofi.sh" // Åbner app-menu ved klik
},
"hyprland/workspaces": {
@@ -50,11 +50,12 @@
"pulseaudio": {
"format": "{volume}% {icon}",
"format-muted": " Muted",
"format-icons": {
"default": ["", ""]
},
"on-click": "pavucontrol"
"format-muted": "󰖁 Muted",
"format-icons": ["", "", ""],
"on-click": "pavucontrol",
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +5%",
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -5%",
"tooltip": false
},
"network": {
@@ -62,7 +63,7 @@
"format-ethernet": "{ifname} ",
"format-disconnected": "󰌙",
"tooltip-format-wifi": "Signal: {signalStrength}% @ {frequency}MHz",
"on-click": "nm-connection-editor"
"on-click": "/home/{{ username }}/.local/bin/launch-wifi-menu.sh"
},
"battery": {

View File

@@ -1,31 +1,103 @@
/* ===== Stargate: Atlantis Waybar Style ===== */
* {
font-family: 'JetBrains Mono Nerd Font', FontAwesome;
font-size: 16px;
/* Fonts - Vi bruger en lidt større og federe skrifttype */
font-family: "JetBrains Mono Nerd Font", FontAwesome;
font-size: 15px;
font-weight: bold;
/* Reset */
border: none;
border-radius: 0;
}
window#waybar {
/* Semi-transparent hvid/lys baggrund */
background: rgba(220, 230, 240, 0.7);
/* Klar blå tekst */
color: #0088cc;
background: rgba(16, 21, 26, 0.8); /* Mørkeblå, semi-transparent glas-effekt */
color: #cdd6f4; /* Generel lys tekstfarve */
border-bottom: 2px solid rgba(0, 170, 255, 0.6); /* Subtil Atlantis-blå linje i bunden */
}
/* Aktiv workspace får en stærkere blå farve */
/* --- Generel Modul Styling --- */
/* Giver alle moduler en ensartet baggrund, margin og padding */
#workspaces,
#clock,
#pulseaudio,
#network,
#battery,
#tray {
background-color: rgba(30, 30, 46, 0.5); /* Lidt lysere semi-transparent baggrund */
padding: 2px 12px;
margin: 5px 0px; /* Top/bottom margin for at skabe luft */
border-radius: 10px;
margin-right: 5px;
}
/* --- Specifik Modul Styling --- */
#workspaces {
margin-left: 5px;
padding-right: 0px;
padding-left: 5px;
}
#workspaces button {
color: #89b4fa; /* Blå farve for inaktive workspaces */
padding: 0 5px;
background-color: transparent;
transition: all 0.3s ease-in-out;
}
#workspaces button:hover {
background-color: rgba(205, 214, 244, 0.1); /* Lys hover-effekt */
color: #f5c2e7;
border-radius: 8px;
}
/* Aktiv eller fokuseret workspace */
#workspaces button.focused,
#workspaces button.active {
color: #00aaff;
background: rgba(0, 136, 204, 0.3);
color: #1e1e2e; /* Mørk tekst for kontrast */
background-color: #89b4fa; /* Klar blå for aktiv workspace */
border-radius: 8px;
}
#pulseaudio, #network, #clock, #battery {
padding: 0 10px;
}
/* Her kan du bruge Lantean-fonten til et specielt ikon! */
#custom-atlantis-logo {
font-family: "Navn-på-din-Lantean-font"; /* Erstat med navnet på fonten */
font-size: 22px;
#clock {
padding-left: 15px;
padding-right: 15px;
color: #00aaff;
}
/* --- Styling for specielle tilstande (gør baren funktionel) --- */
#network.disconnected {
background-color: #f38ba8; /* Rødlig farve for disconnected */
color: #1e1e2e;
}
#pulseaudio.muted {
color: #f38ba8; /* Rød tekst når lyden er slået fra */
}
#battery.charging {
color: #a6e3a1; /* Grøn for opladning */
}
#battery.warning {
color: #fab387; /* Orange for advarsel */
}
#battery.critical {
background-color: #f38ba8; /* Rødlig baggrund for kritisk */
color: #1e1e2e;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
/* Blinke-animation for kritisk batteri */
@keyframes blink {
to {
background-color: #fab387;
color: #1e1e2e;
}
}

View File

@@ -0,0 +1,17 @@
# ===== Wofi Konfiguration KUN til Netværksmenu =====
# Adfærd (vil blive overskrevet af kommandoen, men god at have)
show=drun
# Positionering: Øverste højre hjørne
location=top_right
# Justering for at skubbe den ned under Waybar og lidt ind fra kanten
# Du skal muligvis finjustere disse tal med et par pixels!
x=-70
y=45
# Vi genbruger den samme styling, som vi allerede har lavet
style=style.css
allow_images=true
image_size=32

11
templates/wofi-config.j2 Normal file
View File

@@ -0,0 +1,11 @@
show=drun
# Aktiver ikoner
allow_images=true
# Størrelse og Position
image_size=40
style=style.css
allow_images=true
image_size=32

View File

@@ -0,0 +1,39 @@
/* ===== Stargate: Atlantis Wofi Style ===== */
window {
background-color: rgba(16, 21, 26, 0.9); /* Mørkeblå, semi-transparent */
border: 2px solid #00aaff;
border-radius: 8px;
}
#input {
margin: 10px;
padding: 8px;
border: none;
border-radius: 4px;
background-color: #1a2026;
color: #cdd6f4; /* Lys tekstfarve */
}
#inner-box {
margin: 5px;
}
#entry {
padding: 8px;
border-radius: 4px;
}
#entry:selected {
background-color: #00aaff; /* Atlantis blå som markeringsfarve */
color: #10151a; /* Mørk tekst for kontrast */
}
#text {
color: #cdd6f4; /* Lys tekstfarve */
padding: 5px;
}
#text:selected {
color: #10151a; /* Mørk tekst for kontrast */
}