Skip to content

Commit

Permalink
post: journal entry week starting 13 January 2025
Browse files Browse the repository at this point in the history
  • Loading branch information
practicalli-johnny committed Jan 19, 2025
1 parent 39bc7ee commit f94a7f5
Showing 1 changed file with 225 additions and 0 deletions.
225 changes: 225 additions & 0 deletions docs/posts/2025/january/13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
---
title: Learning Linux like its 1995
date: 2025-01-13
authors:
- practicalli
categories:
- practicalli
tags:
- clojure
---

Using Arch Linux (for Hyprland experiments) takes me back to the mid 1990's when I was learning Linux from the ground up.

At the end of 1994 I was installing Slackware Linux (from 82 floppy disks) and spending hours figuring out what to compile into the Linux kernel (before the days of dynamic loading). There was a huge amount to learn (usually without my own internet connection).

Arch Linux wiki pages have a huge amount of information, showing all the possible options for every piece of software and service. This does present a dilemma of choice.

Having experienced many years with Linux, I know many of the concepts and software associated with a Linux system. I dont need to read all the options, but do find myself scrolling a lot until I find something familiar (or simple).


The goals for this month include

- documenting Neovim & Conjure workflow
- meaningful exercise every day (health permitting)
- bicycle ride (weather permitting)
- avoid Hyprland turning into a huge time sync (couch potato time only)

My health took more of a knock this week as I am finding it very difficult to walk. I've had pain in my right hip for a couple of weeks and on Friday I started walking and felt a sharp pain. Every step with my right leg is painful and going up and down stairs is particularly painful.

The hip pain coupled with my left knee pain significantly limiting my ability to exercise this week.

Movies this week:

- [Death on the Nile 1978](https://en.wikipedia.org/wiki/Death_on_the_Nile_(1978_film)) with Peter Ustinov as Hercule Poirot, including an all-star cast from the time including David Niven, Angela Landsbury and Betty Davis.


<!-- more -->


## Neovim

LSP Renaming of namespaces and filenames is the only feature I do not have working with Clojure LSP and Neovim. nvim-lspconfig supports Clojure but reports the following error when trying to rename a namespace name.

```shell
Error on prepareRename: Can't rename - client does not support file renames.
```
The nvim-lsp-file-operations plugin was used but with no success as yet (not sure why).
### clojure-lsp command line
`clojure-lsp` is available on the command line path, so a command like this will change the namespace and the namespaces corresponding file name.
!!! NOTE "Clojure LSP rename namespace via command line"
```shell
clojure-lsp rename --from gameboard.gameboard.api.scoreboard --to practicalli.gameboard.api.scores
```
## Hyprland
Hyprland has already taken up a lot of time with getting the basics up and running. It will easily take weeks and most likely months to have a rich configuration with all the eye candy I have seen. Investing that kind of time is not valuable to me, but I would still like to have an engaing setup.
There is much discussion about configuring Hyprland and lots of different community projects.
```shell
❯ waybar
(waybar:27164): Gtk-WARNING **: 23:35:32.704: Theme parsing error: gtk.css:6691:68: Invalid name of pseudo-class
[2025-01-18 23:35:32.740] [info] Using configuration file /home/practicalli/.config/waybar/config.jsonc
[2025-01-18 23:35:32.741] [error] Error parsing JSON: * Line 71, Column 18
Syntax error: value, object or array expected.
```
The error seems related to the `"icon-size"` key which had the value `${i_task` which seems incomplete structure.
Chaninging `"icon-size"` to a specific icon size seems to make waybar run (at least via the command line)
```config title="/home/practicalli/.config/waybar/config.jsonc"
"wlr/taskbar": {
"all-outputs": true,
"active-first": true,
"markup": true,
"format": "{icon}",
"rotate": "0",
// "icon-size": ${i_task #(1)
"icon-size": "8"
},
```
1. icon-size line seems incomplete, commented and replaced with a fixed value
The `waybar` command in a terminal runs waybar okay, although there are some warnings to review.
```shell
❯ waybar
(waybar:27230): Gtk-WARNING **: 23:37:28.210: Theme parsing error: gtk.css:6691:68: Invalid name of pseudo-class
[2025-01-18 23:37:28.246] [info] Using configuration file /home/practicalli/.config/waybar/config.jsonc
[2025-01-18 23:37:28.250] [info] Unable to receive desktop appearance: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
[2025-01-18 23:37:28.250] [info] Using CSS file /home/practicalli/.config/waybar/style.css
[2025-01-18 23:37:28.262] [info] Hyprland IPC starting
[2025-01-18 23:37:28.263] [info] Loading persistent workspaces from Waybar config
[2025-01-18 23:37:28.263] [info] Loading persistent workspaces from Hyprland workspace rules
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event0 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event1 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event2 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event3 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event4 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event5 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event6 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event7 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event8 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event9 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event10 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/mice (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/mouse0 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/event11 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] Can't open /dev/input/mouse1 (are you in the input group?): EACCES Permission denied
[2025-01-18 23:37:28.264] [warning] module keyboard-state: Disabling module "keyboard-state", Failed to find keyboard device: EACCES Permission denied
[2025-01-18 23:37:28.488] [info] Bar configured (width: 1600, height: 30) for output: LVDS-1

** (waybar:27230): WARNING **: 23:37:28.492: Status Notifier Item with bus name ':1.28' and object path '/org/ayatana/NotificationItem/udiskie' is already registered

** (waybar:27230): WARNING **: 23:37:28.492: Status Notifier Item with bus name ':1.17' and object path '/org/ayatana/NotificationItem/nm_applet' is already registered
[2025-01-18 23:37:28.497] [error] Item 'udiskie': Could not find an icon named 'drive-removable-media-usb-panel' and no pixmap given.
```


### add user to input group

A user account can be added to a group using either `gpasswd` or `usermod`

!!! NOTE "Add user to existing group"
```shell
❯ sudo usermod -aG input practicalli
[sudo] password for practicalli:
```

![Hyprland configured with HyDE after fixing waybar configuration](https://github.com/practicalli/graphic-design/blob/live/os/hyprland/hyprland-hyde-with-waybar.png?raw=true){loading=lazy}


## ArchLinux

Set the local time via the command line iusing the `timectrl` command

ArchLinux uses an NTP server that automatically sets the local time from a remote server (at least after installing HyDE).

To manually set the time with `timedatectl` the NTP server must be disabled first.

!!! NOTE "Disable NTP server"
```shell
timedatectl set-ntp false
```

!!! NOTE "Set the local time"
```shell
timedatectl set-time "2025-01-18 22:00:00"
```

!!! NOTE "enable NTP server"
```shell
timedatectl set-ntp true
```

!!! NOTE "Check current date"
```shell
date
Sat Jan 18 10:00:09 PM UTC 2025
```

??? EXAMPLE "timedatectl --help"
```shell
timedatectl [OPTIONS...] COMMAND ...

Query or change system time and date settings.

Commands:
status Show current time settings
show Show properties of systemd-timedated
set-time TIME Set system time
set-timezone ZONE Set system time zone
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time
set-ntp BOOL Enable or disable network time synchronization

systemd-timesyncd Commands:
timesync-status Show status of systemd-timesyncd
show-timesync Show properties of systemd-timesyncd
ntp-servers INTERFACE SERVER…
Set the interface specific NTP servers
revert INTERFACE Revert the interface specific NTP servers

Options:
-h --help Show this help message
--version Show package version
--no-pager Do not pipe output into a pager
--no-ask-password Do not prompt for password
-H --host=[USER@]HOST Operate on remote host
-M --machine=CONTAINER Operate on local container
--adjust-system-clock Adjust system clock when changing local RTC mode
--monitor Monitor status of systemd-timesyncd
-p --property=NAME Show only properties by this name
-a --all Show all properties, including empty ones
--value When showing properties, only print the value
-P NAME Equivalent to --value --property=NAME

See the timedatectl(1) man page for details.
```


---
Thank you.

[:globe_with_meridians: Practical.li Website](https://practical.li){target=_blank .md-button}

[:fontawesome-brands-github: Practical.li GitHub Org](https://github.com/practicalli){target=_blank .md-button}
[:fontawesome-brands-github: practicalli-johnny profile](https://github.com/practicalli-johnny){target=_blank .md-button}

[:fontawesome-brands-mastodon: @practicalli@clj.social](https://clj.social/@practicalli){target=_blank .md-button}
[:fontawesome-brands-twitter: @practical_li](https://twitter.com/practcial_li){target=_blank .md-button}

0 comments on commit f94a7f5

Please sign in to comment.