slides: fixed sizing
This commit is contained in:
parent
1d00269da4
commit
64c7b24ff7
6 changed files with 175 additions and 167 deletions
|
@ -1,9 +1,9 @@
|
|||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
title = '2023-09-27 Signup Failures Postmortem'
|
||||
date = 2023-09-28
|
||||
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
# 2023-09-27 Signup Failures Postmortem
|
||||
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
title = "Title"
|
||||
date = 2023-08-07
|
||||
slides = true
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
|
||||
### Title
|
||||
|
||||
Subtitle
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
<!-- HTML comment -->
|
||||
|
||||
Slide 1
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Slide 2
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Image 1
|
||||
|
||||
![image][1]
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Image 2
|
||||
|
||||
<img src="./CompSoc_Logo_PNG.png" height="100"></img>
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
|
||||
[1]: CompSoc_Logo_PNG.png
|
|
@ -1,89 +1,89 @@
|
|||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
title = "Skynet: Intro"
|
||||
date = 2023-09-23
|
||||
slides = true
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
# Skynet: Introduction
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Skynet is the UL Computer Society's computer cluster.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Has a long history: <<https://2016.skynet.ie/history.html>>.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Older than the Society. (1992 vs 1994)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
But alas good things always come to an end.
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Due to //A Series of Unfortunate Events// we lost internet in Jan 2023
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Turns out Wordpress got Wordpress'd and we had a //smol// spam problem.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
ITD also wanted us to have all servers patched and up to date.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
# Skynet 3.0
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Gave us a chance to do a full rebuild.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Servers were delved Indiana Jones style.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
![Delving into Ruins](0_intro_img1.png)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Backups were made.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Returned Summer 2023.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Powered by NixOS.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Fully open source: <<https://gitlab.skynet.ie/compsoc1/skynet/nixos>>
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Skynet now can compile and update itself.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Be not Afraid
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Automation FTW!
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
How hosts:
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
* Email
|
||||
* Gitlab + CI/CD runners
|
||||
|
@ -94,6 +94,6 @@ How hosts:
|
|||
* <<https://skynet.ie>>
|
||||
* User sites (<<https://silver.users.skynet.ie>>)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Always iterating, always improving.
|
|
@ -1,76 +1,81 @@
|
|||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
title = "Skynet: Setup"
|
||||
date = 2023-09-23
|
||||
slides = true
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
# Skynet: Setup
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Now that ye have the history time to get you Skynet accounts.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
This is for new members, if there are any older members please wait a little while.
|
||||
This is for new members.
|
||||
If there are any older members please wait a little while.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## New Members
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
1. Be a fully paid up member of UL Computer Society
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
2. Go to <<https://account.skynet.ie/signup>> and enter the same email used for UL Wolves
|
||||
2. Go to <<https://account.skynet.ie/signup>>.
|
||||
Enter the same email used for UL Wolves
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
3. You will get an email to verify your address, follow the link.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
4. Choose a ``username`` and ``password``.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Congrats! You are in! //heist music//
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Returning Members
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
1. Please go to <<https://account.skynet.ie/modify>> and enter the same email used for UL Wolves
|
||||
1. Please go to <<https://account.skynet.ie/modify>>.
|
||||
Enter the same email used for UL Wolves
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Congrats! You are in! //heist music//
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Returning Members
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If you have forgotten your ``username`` please use <<https://account.skynet.ie/recover/username>>
|
||||
If you have forgotten your ``username``.
|
||||
Use <<https://account.skynet.ie/recover/username>>
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If you have forgotten your ``password`` please use <<https://account.skynet.ie/recover/password>>
|
||||
If you have forgotten your ``password``.
|
||||
Use <<https://account.skynet.ie/recover/password>>
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## All Members
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Now that we are all on the same page we can now set an SSH key.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Prepwork:
|
||||
```bash
|
||||
|
@ -79,7 +84,7 @@ mkdir skynet
|
|||
cd skynet
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519 -C "<comment>"
|
||||
|
@ -90,13 +95,13 @@ Password: Press Enter twice
|
|||
|
||||
We will use the ``{username}.pub`` file later
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Back to the ssh folder
|
||||
```bash
|
||||
cd ../
|
||||
```
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Windows
|
||||
```powershell
|
||||
|
@ -109,7 +114,7 @@ Linux
|
|||
touch config
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Into it pop this
|
||||
```
|
||||
|
@ -120,47 +125,47 @@ Host *.skynet.ie
|
|||
```
|
||||
(we will also ping this on discord)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Remember the ``{username}.pub`` in ``~/.ssh/skynet`` ?
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```bash
|
||||
cat ~/.ssh/skynet/{username}.pub
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Copy the text and go to <<https://account.skynet.ie/modify>>
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Select the SSH Key field and submit.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Congratulations, you now have full access to all of Skynet's services!
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Now to learn //how// to access them!
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Email
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
1. Go to <<https://mail.skynet.ie/>>
|
||||
2. Login with ``username@skynet.ie`` and ``password``
|
||||
3. Done
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Email (Thunderbird)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
0. Have Thunderbird Installed
|
||||
1. Add Account
|
||||
|
@ -168,45 +173,45 @@ Now to learn //how// to access them!
|
|||
3. It can take a few min.
|
||||
4. Done
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Skynet Webserver
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```bash
|
||||
ssh {username}@skynet.skynet.ie
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Thats it, you have logged into Skynet (webserver)!
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Skynet Website
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
The server you logged onto is a webserver.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
This means it can serve content on the web.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Due to aforementioned //issues// we can only serve static files (no database)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
This is more than enough for most folks needs.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
We are going to create a ``public_html`` in your own home directory with correct permissions
|
||||
Create a ``public_html`` in your own home directory with correct permissions
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```bash
|
||||
mkdir ~/public_html
|
||||
|
@ -215,155 +220,155 @@ chmod -R 755 ~/public_html
|
|||
cd ~/public_html
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Now we have a folder, time to put something in it.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```bash
|
||||
nano index.html
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
This brings up a terminal based editor, type whatever ye want here.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
To exit press ``[ctrl]``+``[x]`` to bring up save options.
|
||||
You cna rename the file, for now just press ``[enter]``
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If you go to <<https://{username}.users.skynet.ie>> then teh contents will be displayed.
|
||||
Go to <<https://{username}.users.skynet.ie>> to view your website.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
That was cumbersome to do right?
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Logging in only to change a file on terminal that you have never used before.
|
||||
Logging in.
|
||||
Only to change a file on terminal that you have never used before.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Surely there is a better way?
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Well luckily for you programmers are lazy
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
There are ways to transfer files from your local computer to the server.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Fow Windows you have WinSCP: <<https://winscp.net/>>
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If ye are using linux you can use put ``sftp://{username}@skynet.skynet.ie`` (or use filezilla)
|
||||
If ye are using linux you can use put ``sftp://{username}@skynet.skynet.ie``
|
||||
(or use filezilla)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Gitlab
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
As part of your Skynet account you have access to our Gitlab Server.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
1. Go to <<https://gitlab.skynet.ie>>
|
||||
2. Login with ``username`` and ``password``
|
||||
3. Done
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Gitlab Website
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
its possible to have a website on gitlab.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Powered by source control and CI/CD pipelines (devops)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Go to the ``Dashboard`` > ``Groups`` > ``New Group``
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Name the group Personal or College or something like that.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
If you name the group the same as your username then your username will be part of the URL.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Inside that Group create a ``New Project``, name it whatever ye want.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``Create from Template`` > Any one that starts with ``Pages`` (I recommend ``pages/html``)
|
||||
``Create from Template`` > Any one that starts with ``Pages``
|
||||
(I recommend ``pages/html``)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
It will appear on the screen in a moment after clicking.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Go up to Edit > Web IDE > Change something on the index.html
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``[ctrl] + [shift] + [g]`` (or click the icon on the left), enter a msg and ``commit to master``.
|
||||
``[ctrl] + [shift] + [g]`` (or click the icon on the left), enter a msg
|
||||
And ``commit to master``.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Your website will now be build and deployed.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Woot!!! Devops!!!
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
To get teh link is a tad annoying.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Go to ``Settings`` (bottom left of repo page) > Pages
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Open the link in a new tab and marvel at yer creation.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If you go back and commit new changes they will show up as well.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
In a future session we will discuss Gitlab (and git in general) more.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Here completes the rough introduction to Skynet and creating websites.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If ye have any questions/ideas feel free to ask.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
If ye want to take a deeper look into server administration feel free to ask.
|
||||
If ye want to take a deeper look into server admin feel free to ask.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Skynet team is always open to newcomers!
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
title = "Skynet: Topics"
|
||||
date = 2023-10-08
|
||||
slides = false
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Topics that will be covered by teh skynet Training
|
||||
|
||||
|
|
|
@ -1,76 +1,77 @@
|
|||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
title = "Skynet: Nix"
|
||||
date = 2023-10-08
|
||||
slides = true
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
# *nix, Nix and Nixos
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## *nix
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Skynet runs on a flavor of Linux called NixOS
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Normal linux commands apply (basic primer)
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``cd`` - change directory
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``mkdir`` - make directory
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``ls`` - list directory
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``touch {filename}`` - create file named {filename}
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``nano {filename}`` - edit {filename}
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``history`` - view history of previous commands
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``grep "{query}" {filename/path}`` - find {query} in a file
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
There is also piping where the output of one command is piped into another command
|
||||
There is also piping where:
|
||||
The output of one command is piped into another command
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Often called [Unix philosophy][1]
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Can make really powerful programs from smaller simple programs.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
``history | grep "nano"`` - search the history for any mention of ``nano``
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## Nix
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Nix is a (lazy) functional language
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```nix
|
||||
a = 1 # int
|
||||
|
@ -80,7 +81,7 @@ d = "42" # string
|
|||
e = true # boolean
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```nix
|
||||
double = x: x*2
|
||||
|
@ -90,7 +91,7 @@ double 2
|
|||
mul 2 3
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
```nix
|
||||
s = { foo = "bar"; biz = "baz"; }
|
||||
|
@ -98,63 +99,65 @@ s.foo # bar
|
|||
s.biz # baz
|
||||
```
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Info:
|
||||
1. [Offical guide][2]
|
||||
2. [Nix Pills][3]
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
## NixOS
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Some crazy person saw Nix and thought "I want to make an OS with that"
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
In essence a giant function is created with an OS as the output
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
This does have quite a few advantages
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
* Config as Code
|
||||
* Deterministic
|
||||
* Reproducible
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Skynet 2.0 had its config spread across different servers making it hard to get a good overview
|
||||
Skynet 2.0 had its config spread across different servers.
|
||||
Making it hard to get a good overview
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Skynet 3.0 is fully source controlled on [gitlab.skynet.ie][4]
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Deterministic and Reproducible go hand in hand.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Deterministic means that for the same inputs you get the same output.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Reproducible is that you are able to create the same output from the source code.
|
||||
Reproducible is that you are able to create the same output from
|
||||
the source code.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
We use Flakes, which adds a lockfile, reduces hassle for the dev.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Questions?
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
|
||||
[1]: https://en.wikipedia.org/wiki/Unix_philosophy
|
||||
|
|
Loading…
Reference in a new issue