dotfiles

My PC Dotfiles & Website
commit 3a7e0607ee64592ec6247d482f171391fe272235
parent 0e8698e15cff9e967f729f61a514eb9abd3b3a67
Author: maydayv7 <maydayv7@gmail.com>
Date:   Mon,  1 Jan 2024 17:04:57 +0530

feat: Add `sql` Shell

Also theme GNOME Shell

Diffstat:

7 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/shell.yml b/.github/workflows/shell.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - shell: [cc, format, java, lua, python, rust, video, website] + shell: [cc, format, java, lua, python, rust, sql, video, website] steps: - name: Clone Repo uses: actions/checkout@v4 diff --git a/checks/gitlab/pipelines/shell.yml b/checks/gitlab/pipelines/shell.yml @@ -13,5 +13,5 @@ shell: CACHIX_CACHE_NAME: maydayv7-dotfiles parallel: matrix: - - DEVSHELL: [cc, format, java, lua, python, rust, video, website] + - DEVSHELL: [cc, format, java, lua, python, rust, sql, video, website] script: cachix watch-exec $CACHIX_CACHE_NAME nix develop .#$DEVSHELL diff --git a/files/flake.nix b/files/flake.nix @@ -47,6 +47,7 @@ { dconf = ./gnome/dconf; iso = readFile ./gnome/iso; + shell = readFile ./gnome/shell.css; tiling = readFile ./gnome/tiling.css; } // map.files { diff --git a/files/gnome/dconf/extensions.nix b/files/gnome/dconf/extensions.nix @@ -70,7 +70,7 @@ in { "org/gnome/shell/extensions/lockkeys".style = "show-hide"; "org/gnome/shell/extensions/status-area-horizontal-spacing".hpadding = 4; - "org/gnome/shell/extensions/user-theme".name = lib.mkForce "Adwaita"; + "org/gnome/shell/extensions/user-theme".name = lib.mkForce "custom"; "org/gnome/shell/extensions/fullscreen-avoider" = { move-hot-corners = true; diff --git a/files/gnome/shell.css b/files/gnome/shell.css @@ -0,0 +1,3 @@ +#panel { + background-color: rgba(0, 0, 0, 0.75); +} diff --git a/modules/gui/desktop/gnome.nix b/modules/gui/desktop/gnome.nix @@ -119,6 +119,9 @@ in { # Action Menu ".config/guillotine.json".source = gnome.menu; + # Shell Theme + ".local/share/themes/custom/gnome-shell/gnome-shell.css".text = gnome.shell; + # Window Tiling Stylesheet ".config/forge/stylesheet/forge/stylesheet.css".text = gnome.tiling; diff --git a/shells/sql.nix b/shells/sql.nix @@ -0,0 +1,33 @@ +pkgs: { + name = "SQL"; + buildInputs = [pkgs.mariadb]; + shellHook = '' + MYSQL_BASEDIR=${pkgs.mariadb} + MYSQL_HOME=$HOME/.mysql + mkdir -p $MYSQL_HOME + MYSQL_DATADIR=$MYSQL_HOME/data + export MYSQL_UNIX_PORT=$MYSQL_HOME/mysql.sock + MYSQL_PID_FILE=$MYSQL_HOME/mysql.pid + alias mysql='mysql -u root' + + if [ ! -d "$MYSQL_HOME" ]; then + # Make sure to use normal authentication method otherwise we can only + # connect with unix account. But users do not actually exist in NixOS + mysql_install_db --auth-root-authentication-method=normal \ + --datadir=$MYSQL_DATADIR --basedir=$MYSQL_BASEDIR \ + --pid-file=$MYSQL_PID_FILE + fi + + # Starts the daemon + mysqld --datadir=$MYSQL_DATADIR --pid-file=$MYSQL_PID_FILE \ + --socket=$MYSQL_UNIX_PORT 2> $MYSQL_HOME/mysql.log & + MYSQL_PID=$! + + finish() { + mysqladmin -u root --socket=$MYSQL_UNIX_PORT shutdown + kill $MYSQL_PID + wait $MYSQL_PID + } + trap finish EXIT + ''; +}