<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hijen EL Khalifi</title>
    <description>The latest articles on DEV Community by Hijen EL Khalifi (@hijenhek).</description>
    <link>https://dev.to/hijenhek</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F515312%2Fe058e68b-00e8-4679-994c-120246aed6d4.jpeg</url>
      <title>DEV Community: Hijen EL Khalifi</title>
      <link>https://dev.to/hijenhek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hijenhek"/>
    <language>en</language>
    <item>
      <title>Customize Ubuntu through the command line. a custom look for different setups :D</title>
      <dc:creator>Hijen EL Khalifi</dc:creator>
      <pubDate>Sun, 17 Dec 2023 11:22:55 +0000</pubDate>
      <link>https://dev.to/hijenhek/customize-ubuntu-through-the-command-line-a-custom-look-for-different-setups-d-g3a</link>
      <guid>https://dev.to/hijenhek/customize-ubuntu-through-the-command-line-a-custom-look-for-different-setups-d-g3a</guid>
      <description>&lt;p&gt;So I switch setups often from one desk to another or even home and work setups, usually, I use another monitor and I am used to making the monitor on the left at home with the dock at the left too whereas my laptop screen is secondary but at work, it's completely different.&lt;/p&gt;

&lt;p&gt;each time I change my desk I have to reconfigure my screen which is a bit boring.. what I am doing now is completely different I made an alias for a command that I launch when I switch setups to set my dock &amp;amp; screen positions.&lt;/p&gt;

&lt;p&gt;in the next lines, i ll show you how to set your dock position from the command line using the ultimate gnome command &lt;strong&gt;gsettings&lt;/strong&gt; and i'll keep the rest for your own situation to handle freely !&lt;/p&gt;

&lt;h5&gt;
  
  
  1. type gsetting help and let us discover it !
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$❯ gsettings help

Usage:
  gsettings --version
  gsettings [--schemadir SCHEMADIR] COMMAND [ARGS…]

Commands:
  help                      Show this information
  list-schemas              List installed schemas
  list-relocatable-schemas  List relocatable schemas
  list-keys                 List keys in a schema
  list-children             List children of a schema
  list-recursively          List keys and values, recursively
  range                     Queries the range of a key
  describe                  Queries the description of a key
  get                       Get the value of a key
  set                       Set the value of a key
  reset                     Reset the value of a key
  reset-recursively         Reset all values in a given schema
  writable                  Check if a key is writable
  monitor                   Watch for changes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  2. as you can see here we need to specify a command and some args for it , first thing to do is to list the &lt;strong&gt;Schemas&lt;/strong&gt; which will help us see all the customizable items !
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$❯ gsettings list-schemas
com.canonical.Unity.Lenses
com.canonical.unity.desktop.background
com.canonical.unity.desktop.interface
com.canonical.unity.desktop.screensaver
com.mattjakeman.ExtensionManager
com.ubuntu.SoftwareProperties
com.ubuntu.login-screen
...
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  3. its a big list so lets use grep to find the schema we want , for example lets grep &lt;strong&gt;dock&lt;/strong&gt;
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$❯ gsettings list-schemas |  grep dock
org.gnome.shell.extensions.dash-to-dock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  4. Oh so our schema is named &lt;strong&gt;org.gnome.shell.extensions.dash-to-dock&lt;/strong&gt; , now we will need to list its keys , because each schema has its own keys and values settings and we will change the values depending on what we want
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$❯ gsettings list-keys org.gnome.shell.extensions.dash-to-dock
activate-single-window
animate-show-apps
animation-time
...
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  5. the list is long here too , we can grep the &lt;strong&gt;position&lt;/strong&gt; or &lt;strong&gt;dock&lt;/strong&gt; key
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$❯ gsettings list-keys org.gnome.shell.extensions.dash-to-dock | grep dock 
dock-fixed
dock-position
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  6. lets get the current value for &lt;strong&gt;dock-position&lt;/strong&gt; key
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$❯ gsettings get org.gnome.shell.extensions.dash-to-dock dock-position
'RIGHT'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  7. its set on the right , so lets changed it to left
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;❯ gsettings set org.gnome.shell.extensions.dash-to-dock dock-position 'LEFT'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  8. And voila ! its on the left :D
&lt;/h5&gt;

&lt;p&gt;you can list all schemas and their keys and find what you want to customize ! it has everything you usually change through settings .&lt;/p&gt;

&lt;p&gt;Good luck &lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>automation</category>
      <category>bash</category>
      <category>gnome</category>
    </item>
    <item>
      <title>Laravel Backend Api First Template</title>
      <dc:creator>Hijen EL Khalifi</dc:creator>
      <pubDate>Wed, 24 Aug 2022 14:55:00 +0000</pubDate>
      <link>https://dev.to/hijenhek/laravel-backend-first-api-template-3fkd</link>
      <guid>https://dev.to/hijenhek/laravel-backend-first-api-template-3fkd</guid>
      <description>&lt;h3&gt;
  
  
  Yo.
&lt;/h3&gt;

&lt;p&gt;i have been learning and using &lt;a href="//laravel.com"&gt;Laravel&lt;/a&gt; in the past 3 years and i like it , i fell in love with its simplicity, extensive features , community and its convention over configuration principle ! if you follow the rules you can create APIs in no time !&lt;/p&gt;

&lt;h3&gt;
  
  
  I.
&lt;/h3&gt;

&lt;p&gt;usually create API's and back-end projects, and Laravel is always my go to, even though its a full-stack framework but its development experience never fails me and always keeps me performing as efficient as possible .&lt;/p&gt;

&lt;h3&gt;
  
  
  Yet.
&lt;/h3&gt;

&lt;p&gt;I still repeat some stuff when ever i create a new project , they cant really be conventional like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; user authentication&lt;/li&gt;
&lt;li&gt; profile update and show &lt;/li&gt;
&lt;li&gt; attachments handling&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  So.
&lt;/h3&gt;

&lt;p&gt;Recently , i created a template for my future projects , it is an API first back-end that has those functionalities ready to use and it has other code that i can use as reference . it has been quite helpful and i am looking forward to make it better .&lt;/p&gt;

&lt;p&gt;you can visit the github repo here :&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/HijenHEK" rel="noopener noreferrer"&gt;
        HijenHEK
      &lt;/a&gt; / &lt;a href="https://github.com/HijenHEK/laravel-backend-template" rel="noopener noreferrer"&gt;
        laravel-backend-template
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Api first backend boilerplate build with laravel 🎯 you can use as a template 😉
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Laravel Backend Template&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;i use this as a starting point for my backend projects , it saves time with basic auth functionalities and has code examples for repetitive blocks&lt;/h4&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is it about ?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;this is an API First Backend developed using laravel mysql and sacntum for authentification &lt;br&gt;
A front end agnostic ready to use boilerplate for your next Mobile app or SPA&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features and Todo's&lt;/h2&gt;

&lt;/div&gt;
&lt;ul class="contains-task-list"&gt;
&lt;li class="task-list-item"&gt;
 authentication system&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 profile fetch and update data&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 reset passwords&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 email verification&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 user roles&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 user crud for admins&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 public upload example (profile picture)&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 local upload example : private attachment&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 MFA&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 social login&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Admin provider Todo&lt;/h2&gt;

&lt;/div&gt;
&lt;ul class="contains-task-list"&gt;
&lt;li class="task-list-item"&gt;
 seperate admin provider (under feature/admin-provider)&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 authentication system&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 admin profile&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 clean main roles system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;you can add suggestions by modifying this file :)&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Docker ?&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;if you have docker installed , all you have to do is running&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;$ git clone https://github.com/hijenhek/laravel-backend-boilerplate 
$ cd laravel-backend-boilerplate 
$ composer install
$ ./vendor/bin/sail/up

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/HijenHEK/laravel-backend-template" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;it has those functionalities , feel free to comment and review it .&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; authentication system - sanctum&lt;/li&gt;
&lt;li&gt; profile fetch and update data&lt;/li&gt;
&lt;li&gt; reset passwords&lt;/li&gt;
&lt;li&gt; email verification&lt;/li&gt;
&lt;li&gt; user roles&lt;/li&gt;
&lt;li&gt; user crud for admins&lt;/li&gt;
&lt;li&gt; public upload example (profile picture)&lt;/li&gt;
&lt;li&gt; local upload example : private attachment&lt;/li&gt;
&lt;li&gt; MFA&lt;/li&gt;
&lt;li&gt; social login &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thanks.
&lt;/h3&gt;

</description>
      <category>laravel</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>github</category>
    </item>
  </channel>
</rss>
