added systemd user services and loogin rules

This commit is contained in:
mal0
2024-07-25 23:21:12 -04:00
parent 1e6a0ce8da
commit 37f125763d
+30 -11
View File
@@ -8,6 +8,7 @@ import os
import re import re
import subprocess import subprocess
import requests import requests
import shutil
import logging import logging
import gdown import gdown
from rich.console import Console from rich.console import Console
@@ -70,7 +71,8 @@ def main():
executable_scripts() executable_scripts()
msic_configs() msic_configs()
systemd()
#correcting ownership #correcting ownership
# subprocess.run(f"chown -R {user}:{user} {os.path.join(home,'.config')}",shell=True ,stdout=subprocess.DEVNULL) # subprocess.run(f"chown -R {user}:{user} {os.path.join(home,'.config')}",shell=True ,stdout=subprocess.DEVNULL)
@@ -106,6 +108,8 @@ def dnf_config():
def hyprland(): def hyprland():
console.rule("Configuring hyprland", style='checkt')
# create tty launcher # create tty launcher
with open(home +'/.local/bin/wrappedhl', 'w+') as file: with open(home +'/.local/bin/wrappedhl', 'w+') as file:
@@ -135,6 +139,9 @@ Type=Application ''')
subprocess.run(f'chmod +x {home}/.local/bin/wrappedhl', shell=True) subprocess.run(f'chmod +x {home}/.local/bin/wrappedhl', shell=True)
subprocess.run('chmod +x /usr/share/wayland-sessions/hyprland.desktop', shell=True) subprocess.run('chmod +x /usr/share/wayland-sessions/hyprland.desktop', shell=True)
logger.info('Created hyprland .desktop and wrappedhl')
console.print('Created hyprland .desktop and wrappedhl :heavy_check_mark:', style='ok')
# install programs dnfmax list i can pass to dnf of programs to install # install programs dnfmax list i can pass to dnf of programs to install
def install_programs_dnf(): def install_programs_dnf():
@@ -215,17 +222,18 @@ def copy_dotfiles(setup):
# list of relevant configs # list of relevant configs
lis = os.listdir() lis = os.listdir()
exeptions = ['.git', 'desktop', '.bashrc','.zshrc'] exeptions = ['.git', 'desktop', '.bashrc','.zshrc','picom.conf', 'polybar'
,'i3','README.md','.gitignore','cinnamon-configs']
for z in exeptions: for z in exeptions:
if z in lis: if z in lis:
lis.remove(z) lis.remove(z)
dotfiles_dir = os.getcwd()
destination = os.path.join(home,'.config') destination = os.path.join(home,'.config')
subprocess.run(f"cp -r {os.path.join(dotfiles_dir,'.zshrc')} {home}", shell=True) shutil.copy2('.zshrc',home)
shutil.copy2('.p10k.zsh',home)
shutil.copy2('.vimrc',home)
if (setup =='l'): if (setup =='l'):
console.print("Setting up dotfiles for Laptop", style='ok') console.print("Setting up dotfiles for Laptop", style='ok')
@@ -236,12 +244,6 @@ def copy_dotfiles(setup):
elif (setup =='d'): elif (setup =='d'):
console.print("Setting up dotfiles for Desktop", style='ok') console.print("Setting up dotfiles for Desktop", style='ok')
if ('i3' in lis):
lis.remove('i3')
if ('polybar' in lis):
lis.remove('polybar')
lis.append('desktop/i3')
lis.append('desktop/polybar')
# copying files recusrsively # copying files recusrsively
for dir in lis: for dir in lis:
print(subprocess.run(f'cp -r {dir} {destination}', shell=True)) print(subprocess.run(f'cp -r {dir} {destination}', shell=True))
@@ -249,6 +251,7 @@ def copy_dotfiles(setup):
console.print("Dotfiles copied :heavy_check_mark:", style='ok') console.print("Dotfiles copied :heavy_check_mark:", style='ok')
logger.info('Dotfiles copied') logger.info('Dotfiles copied')
def executable_scripts(): def executable_scripts():
console.rule('Making scripts executable', style='checkt') console.rule('Making scripts executable', style='checkt')
@@ -262,6 +265,7 @@ def executable_scripts():
console.print("Job done :heavy_check_mark:", style='ok') console.print("Job done :heavy_check_mark:", style='ok')
logger.info('Made scripts in .config executable') logger.info('Made scripts in .config executable')
def msic_configs(): def msic_configs():
console.rule('Setting up final configs', style='checkt') console.rule('Setting up final configs', style='checkt')
@@ -309,6 +313,21 @@ def msic_configs():
console.print("Error with Themes :X:", style='error') console.print("Error with Themes :X:", style='error')
def systemd():
console.rule('Enabling user services', style='checkt')
user_services = ['gnome-keyring.service', 'ssh-agent.service', 'polkit-gnome-authentication-agent.service',
'hypridle.service','gnome-keyring-daemon.service']
try:
for services in user_services:
subprocess.run(f'systemctl --user enable {services}', shell=True)
except Exception as e:
logging.critical(f"Could not start service :{str(e)}")
console.print("Error starting some services :X:", style='error')
if __name__ == '__main__': if __name__ == '__main__':
main() main()