Yes you are quite right, unfortunately for me I rolled high in electrochemestry and require copious amounts of proprietary games and CUDA cores so GNU + Linux + Proton is where I will need to be for now.
Nix seemed more focused on marketing and cutting corners to make a working product faster
Yes, this is a big issue in corporate development. It seems like management is in a constant state of barreling headfirst into a “silver bullet that fixes everything” instead of doing things the hard way (which in the long term is almost always better.
expect to either package it yourself
I have not maintained any packages before but I am very interested in learning how, I shall look into this.
Shepherd for its init system
I vaguely remember this was the originally used in Hurd? if so that is cool.
This is very cool!
guix import
This seems quite useful thanks for that.
Setting up Emacs, a local SMTP server connected to your email for git, and a CLI password manager will probably be helpful.
I have been wanting to set up upasfs this may be the push I need to finally get around to doing that.
It appears Guix may be a good choice in the future but not quite yet, I will try installing it as a package manager and/or try it in a VM to start out with. Thanks for the info!
Ah yeah, that makes sense. I shall try this out in a VM sometime. thanks!
Using scheme would be a big benefit for me as I already know it whereas NixOS I would have to learn their config language. I suppose that if it is easy to create packages and submit them it would be like compiling it myself except that more people could have access to it. I shall take this under consideration.
I do have one related question, during install how do you get an already customized config file onto the system during install? How do I create a config file beforehand?
I seems like the consensus from people here is to start with the stand-alone package manager. So I shall look into that thanks!
This does make a lot of sense. From what I could tell a lot of devs talk about nixos in the same way that they talk about docker.
Yeah Ive been using hy-lang about half the time I have to do things in python; so I would assume weirdness is bound to occur :). Yeah I believe someone else mentioned that it could be used as a standalone package manager so I shall look into this.
Yeah thats a good idea. I know that guix can be used as standalone package manager but I didn’t know you could do that with nix as well. I shall look more into that, thanks
Yeah one of the reasons I was looking into Guix was because it has a lisp based configuration. (I use emacs semi regularly so I imagine guix would fit into the emacs config mindset well).
I am a hobbyist programming language developer so I program in a lot of different languages (c, rust, go, js, python, various lisps, forths, esoteric langs). I did read an interesting article about someone daily driving Debian Sid, so maybe I will look closer into that. I also have heard of a distro called rhino linux which is supposed to be a “rolling release ubuntu”. Yeah I always forget that docker dev containers are an option, maybe I should look into that more.
The header file was not originally made for the purpose it is used for today. In previous languages (like Fortran or COBOL) they had a preprocessor which was used for defining constants and macros and the like. The preprocessor is like a glorified cut and paste machine, it can’t do any complex processing by itself. (In fact the C preprocessor is not even Turing complete although it is close)
The reason why the headers are included at the top is also for historical reasons. In single pass compilers a file is read line by line and parsed into an Abstract Syntax Tree; the function has to be declared before it can be used but sometimes it may be declared in a different file or later in the file. So it’s convenient to put that information in the header.
Many modern languages use compilers that take multiple passes to generate the code. They will also use internal databases for the objects and their prototypes like a v-table to store data about the program to do optimizations and the like.
Languages like rust, zig, and go use modules where they have namespaces where specific definitions of code are declared and able to be used later. They also had a series of built in tools like dynamically managing dependencies, linking, etc.
For most languages they also have a Foreign Function Interface which allows them to call functions written in a different languages (like C shared libraries). All of the managers you mentioned have great FFI functionality and work well with C shared libraries. You can often use C header files in these since they give the function prototype without needing to read the whole source code and find all those definitions (often if the library is proprietary you will only have access to the shared library and the header files).
Many years ago now I was told that we needed a way to turn a series of lights on and off for a custom bit of hardware. The hardware ran a Unix-like system so I decided that a daemon would be a good fit for the use case. I do not know what has become of my daemon of light but I do know whomever uses it must call the “summon” function to daemonize the process
Moth mode should be a required feature in every web browser
From what I heard one component was that it was difficult to line up the release dates between updating the Ubuntu base and KDE because Ubuntu uses GNOME and they line up their release dates with that
As a Unix weirdo I grok you
If you don’t want to install Linux, You should install plan9
MLVWM is a classic mac window manager for X11
https://github.com/morgant/mlvwm
Also you will need
https://github.com/morgant/mlvwmrc
Also bonus: Mac OS 8 startup for Plymouth
It kinda depends on what games you are using.
If they are online only with anti cheat dual booting is the only viable solution because most anti cheat’s that don’t work with Linux/proton will flag you as cheating if you try to use a vm.
If its some older game its prolly better to use a vm for that OS, lien a lot of old games for windows XP or windows 95 are like that. For really old ones you can just use dosbox which is very tried and true.
If it’s just some random game that doesn’t work I either A: figure it will get working in some way eventually or B: give up on ever playing it again.
I think I’m at the point where if a new game comes out and it didn’t work on Linux I just wouldn’t buy it. But I might be an outlier since most of the games I like usually get a Linux port or will work with proton anyways
I have $HOME/src for projects that are executables and $HOME/lib for ones that are libraries/dependancies/etc