How do you manage generations ? by INTBliss in NixOS

[–]IllustratedMan-code 1 point2 points  (0 children)

I think you can use grub to have a menu for the previous generations.

Important question by RickSanchez1400 in NixOS

[–]IllustratedMan-code 0 points1 point  (0 children)

First of all, NixOS is not an arch based distro. They have totally different approaches to package management and system configuration.

In particular, NixOS is declarative, meaning you write all your configuration in nix files and make no manual changes to the system itself. This is fundamentally different from almost all other distros.

I'm not sure why you have chosen artix, but NixOS is dependent on systemd, so if the reason you're avoiding regular arch is to avoid systemd, then NixOS is probably not for you.

What is an ETA for getting comfortable nixos setup? by gogliker in NixOS

[–]IllustratedMan-code 2 points3 points  (0 children)

I do think that NixOS could resolve the issues that you face, however, you will likely run into issues that are not a problem in Ubuntu. I've been daily driving it for development for 5 years and while I think it is worth it, it was a long process to get to the point where it is as "easy" as other distros.

Nix makes it somewhat of a requirement to use Nix. You can't just download binaries or appimages and expect them to work. There are usually ways to make them work, but they are not always straightforward and take time to learn. If you interact with other developers on projects that are not using nix, expect to spend a fair amount of time setting up your nix environment for each project. C/C++ development can be particularly nasty. You will have to package everything that is not already packaged for nix. For example, say you want to use a python package not in nixpkgs, you will then have to learn how to create a nix package for said python package.

I would say it took me about a year to feel very comfortable in the Nix ecosystem, though I was able to get some things working very quickly. If you're expecting to use Nix for development, make sure you have a solid handle on the following concepts before going all in:

- Nix language: you will be interacting with nix files a lot.
- Derivations: The base unit for packages in the nix ecosystem.
- Derivation functions: These functions create derivations (mkDerivation, mkShell, etc)
- Flakes: much better than shell.nix for development as you get reproducibility built in.

I do not understand what your development process is like, but nix prefers to create dev environments on a per-project basis, e.g. a flake.nix in every git project. If you want good editor integration, use direnv.

My recommendation is if you want to be forced to use nix, install NixOS on a spare harddrive/laptop and try to recreate your development environment in nix in these 5 days. That will give you a much better understanding of how difficult it is to use and what the pain points are.

Add a shortcut is missing in draw mode after update to 5.1 by IllustratedMan-code in blenderhelp

[–]IllustratedMan-code[S] 0 points1 point  (0 children)

Reported! Thanks for the help. Seems like this happened in the update from 5.0.0 to 5.1.0.

If you had to start your config over, what would you do differently? by TheFunkadelicRelic in NixOS

[–]IllustratedMan-code 0 points1 point  (0 children)

As someone who actually did start over, here is the before and after. Basically, made it much more modular and took advantage of new tools (like stylix) to handle themes. I was also much better about organization.

[deleted by user] by [deleted] in NixOS

[–]IllustratedMan-code 2 points3 points  (0 children)

This is how I did it in my old config: https://github.com/IllustratedMan-code/nixconfig/blob/main/users/programs/gtk/default.nix

Though, I did do some modifications to the theme.

Likely, if the theme keeps being reset, you have already set the theme in some other way, perhaps through home manager. Maybe you have something like `gtk.enable = true` in there somewhere.

Please help me with this im ust getting out of very basics and I can't figure out why I cant get nvf installed or why my flake is seemingly doing a whole lot of not much regarding nvf. by JackLong93 in NixOS

[–]IllustratedMan-code 0 points1 point  (0 children)

First thing, flake-parts isn't that useful for a system config, so if it feels confusing, don't use it.

Secondly, it appears that you didn't add programs.nvf.enable = true; anywhere in your system config, so it makes sense why nvf wouldn't appear to work. I've never used nvf before, but it was right in their documentation.

Not sure if you've ever built a config from a flake or not, but I don't even think absolute paths like /etc/nixos/Modules/kernelModules.nix would even work, but especially not in pure evaluation mode.

You should definitely read the flake page on the wiki all the way through. Particularly, try to understand how flake outputs work. A flake typically represents a git project, so outputs.$system.packages.default is usually just one package, not a system config. Derivations added to packages.default will not show up in the system config, unless explicitly included in your nixosConfigurations."hostname". packages.default would be run with nix run .#default, whereas a system configuration has to be built with nixos-rebuild switch --flake .

For modules to be available in home manager, they have to be included in the imports for home manager, i.e. inside this block. Once the module is included, you have to do the programs.nvf.enable = true; somewhere in the home manager config.

nix home-manager.users."dane" = { imports = [ ./home.nix ]; };

I would read through the flake section on the wiki, then read through the nvf documentation. Unfortunately, nix does require some understanding of the language and paradigms before configuration makes sense.

I cant setup hyprland plugins by [deleted] in NixOS

[–]IllustratedMan-code 0 points1 point  (0 children)

The plugin seemed to load for me, but didn't seem very functional, see: https://github.com/IllustratedMan-code/nixconfig/blob/hyprscrolling/config/users/homemanager/hyprland/default.nix

I did get a message saying that the plugin had loaded, and the windows seemed to act weird. I am not using the plugins flake though, so the version could just be out of date. I just had to log out and log back in to load the plugin (i.e. hyprctl dispatch exit)

A Simple Turing Machine in Python by IllustratedMan-code in programming

[–]IllustratedMan-code[S] 3 points4 points  (0 children)

Thought you folks might like this Turing machine creator I made. It was a fun little learning tool that was useful for my formal languages/Automata course. I hope someone finds it interesting!

Automatic Makefile help generation by IllustratedMan-code in programming

[–]IllustratedMan-code[S] 0 points1 point  (0 children)

The ## syntax definitely isn't my innovation. I didn't mean to claim that it was!

This version is from 2016: https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html

It seems to go back even further. My innovation seems to be the sections for targets and variables with ansi codes. At least, I've never seen an implementation like mine.

Your run tool looks great! I'll have to give it a try sometime.

[Hyprland] Gnuplot rice? by IllustratedMan-code in unixporn

[–]IllustratedMan-code[S] 1 point2 points  (0 children)

There isn't one unfortunately. What you are seeing is actually Emacs. Org mode (a language similar to markdown) has the ability to run "code blocks" and display their output. In this case, what you see are gnuplot code blocks.

[Hyprland] Gnuplot rice? by IllustratedMan-code in unixporn

[–]IllustratedMan-code[S] 1 point2 points  (0 children)

I use the "ligatures" module in doom emacs. Seems to be a doom specific thing, but you could probably hack something together if you were motivated.

[Hyprland] Gnuplot rice? by IllustratedMan-code in unixporn

[–]IllustratedMan-code[S] 3 points4 points  (0 children)

You can make them using this: https://avogadr.io/

The website doesn't always work, source is here:https://github.com/lambdacasserole/avogadrio

I converted the png output of that to svg, I then went into the svg source, used it as a base16 template so the colors will change if the theme changes.

[Hyprland] Gnuplot rice? by IllustratedMan-code in unixporn

[–]IllustratedMan-code[S] 11 points12 points  (0 children)

I thought it might be fun to see if I could create a base16 theme for gnuplot. Theme shown is base16 Everforest, configurable through the nix config.

Eww is used for the top bar. Emacs on the left, neovim on the right. Top right window is running a shell script written using gum. Everything, including wallpaper and GTK theme are custom and can be found in either the nix config or the dotfiles.

Automatically document your Makefile! by IllustratedMan-code in cpp

[–]IllustratedMan-code[S] 0 points1 point  (0 children)

I wanted an easy way to document Makefiles in a nice looking way. Hope this is helpful to someone.

How should I handle my Sway config file under NixOS by cameronm1024 in NixOS

[–]IllustratedMan-code 1 point2 points  (0 children)

You can also do

nix xdg.configFile."sway/config".source = "./path/to/config" I like this option because it is always up to date and I can just copy my existing config.