Git Product home page Git Product logo

dotfiles's Introduction

dotfiles's People

Contributors

bphenriques avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dotfiles's Issues

CI: Test building each host

Scope of the test: nix is ais capable of producing a generation of my machine's configuration.

It is better than nothing but for sure it isn't enough to be completely sure that everything is up.

Make `make sync` generic for all the hosts

It is easy to mistake one host for another, so I suggest having a hidden .nix_host in the same directory as the Makefile (git ignored). This files holds the host's identifier that can be used to dynamically perform the required operations.

Let's see if host's name is not repeated in several places 🤷‍♂️

PS: I can always run the right make target afterwards.

Pin zinit + plugins versions

Currently zsh fetches the latest zinit and the mentioned plugins. This means that one day my configuration may be incompatible with said version.

It is not as troublesome as these API are stable.

Wayland desktop environment

Wayland:

https://github.com/prasanthrangan/hyprdots

 # Enable other essential services
  services.gvfs.enable = true; # Mount, trash, and other functionalities
  services.tumbler.enable = true; # Thumbnail support for images

  # Install firefox.
  # programs.firefox.enable = true;

  # Install thunar.
  programs.thunar.enable = true;

  # Install Hyprland
  programs.hyprland.enable = true;

services.displayManager = {
    sessionPackages = [ pkgs.hyprland ];
  };

Cursor stuff:

{ config, pkgs, lib, ... }:

{
  environment.systemPackages = with pkgs; [
    capitaine-cursors
  ];

  # Set cursor theme for X11
  environment.variables = {
    XCURSOR_THEME = "capitaine-cursors";
    XCURSOR_SIZE = "24";
  };

  # Set the cursor theme for GTK applications
  environment.etc."gtk-3.0/settings.ini".text = ''
    [Settings]
    gtk-cursor-theme-name = capitaine-cursors
    gtk-cursor-theme-size = 24
  '';

  # Set the cursor theme for GTK2 applications
  environment.etc."gtk-2.0/settings.ini".text = ''
    gtk-cursor-theme-name = capitaine-cursors
    gtk-cursor-theme-size = 24
  '';
}

More hyperland stuff

{ config, pkgs, ... }:
{


  environment.systemPackages = with pkgs; [
    # other packages
  hyprpaper
  hyprlock
  hypridle
  hyprshot
  gtk3
  gtk4
  rofi-wayland
  waybar
      ];

  xdg.portal = {
    enable = true;
    extraPortals = with pkgs; [xdg-desktop-portal-gtk xdg-desktop-portal-hyprland];
    config.preferred.default = ["hyprland" "gtk"];
    xdgOpenUsePortal = true;
  };

  }

Waybar: https://github.com/Rouzihiro/iMac/blob/main/Hyprland%20light%20AMD%20support/waybar.nix

Input-Remapper Nix OS Help

I appreciate the help you provided earlier. Not sure why I haven't gotten it working. Your expanded explanation seemed clear enough.

Since I am working from someone's Nix OS dotfiles instead of starting from scratch. I may be misunderstanding their setup.

I understand this is probably not the way to start using Nix OS.

I am going to commit my file changes in a fork of his repository soon.

As for the peripherals.nix I modified from your example.

{ home-manager, lib, userSettings, Config, ... }:


{
    xdg.configFile = {
      "input-remapper-2/config.json".source = config.lib.file.mkOutOfStoreSymlink "${hostDir}/input-remapper/config.json";
"input-remapper-2/presets/ROCCAT ROCCAT Kone XP Air Donhle/BLENDER copy.json".source = config.lib.file.mkOutOfStorSymlink "${hostDir}/input-remapper-2/BLENDER copy.json";
};

Defining hostDir = "/home/${userSettings.username}/.dotfiles/user/hardware";

It appears the symlinks were made. But I do not have new folders appearing in .../user/hardware alongside the peripherals.nix

I'm thinking these out of store files should be there so I can drop my finished input-remapper config files there.

Not sure I provided the correct information.

Figure out best power profile

    services.auto-epp = {
      enable = lib.mkDefault false;
      settings.Settings.epp_state_for_BAT = "power";
      settings.Settings.epp_state_for_AC = "balance_performance";
    };

    services.power-profiles-daemon.enable = lib.mkDefault false;

One or another. Needs testing

more hosts than ideal

Available hosts:

  • /home/brunohenriques/.dotfiles/host/desktop
  • desktop
    /home/brunohenriques/.dotfiles/host/desktop/input-remapper
  • input-remapper
    /home/brunohenriques/.dotfiles/host/desktop/secrets
  • secrets
    /home/brunohenriques/.dotfiles/host/work-macos
  • work-macos

Apple Silicon: Smoother integration

Had to manually remove IntelliJ and Docker from Homebrew.

Most likely need to review if some packages can now be fetched from nixpkgs and not from Homebrew.

  • Override system in nix darwin
  • Have different nixpkgs for x86-64 packages that are not compatible in apple silicon

Explore custom personal assistant that shows keybindings

I miss emacs and some of its chord to navigate, etc etc. Considering if it is possible having some of the sort leveraging the multiplexers to create a tiny window on the bottom.

# No Color: \033[0m
# Black        0;30     Dark Gray     1;30
# Red          0;31     Light Red     1;31
# Green        0;32     Light Green   1;32
# Brown/Orange 0;33     Yellow        1;33
# Blue         0;34     Light Blue    1;34
# Purple       0;35     Light Purple  1;35
# Cyan         0;36     Light Cyan    1;36
# Light Gray   0;37     White         1;37

if set -q ZELLIJ && command -v zellij > /dev/null
  zellij run --name "Key-bindings" --floating -- echo -en '
    \033[1;32mAlt + T\033[0m         \033[1;37m\033[0m \033[1;34m Open New Tab                \033[0m
    \033[1;32mAlt + W\033[0m         \033[1;37m\033[0m \033[1;34m Close Tab                   \033[0m
    \033[1;32mAlt + Q\033[0m         \033[1;37m\033[0m \033[1;34m Previous Tab                \033[0m
    \033[1;32mAlt + E\033[0m         \033[1;37m\033[0m \033[1;34m Next Tab                    \033[0m
    \033[1;32mAlt + F\033[0m         \033[1;37m\033[0m \033[1;34m Open New Floating Pane      \033[0m
    \033[1;32mAlt + P\033[0m         \033[1;37m\033[0m \033[1;34m Open Pane --->>> TAKEN?     \033[0m
    \033[1;32mAlt + [0-9]\033[0m     \033[1;37m\033[0m \033[1;34m Open specific Tab           \033[0m
    \033[1;32mAlt + SPC\033[0m       \033[1;37m\033[0m \033[1;34m Find File/Directory         \033[0m
    \033[1;32mAlt + /  \033[0m       \033[1;37m\033[0m \033[1;34m Find Text                   \033[0m
  '
else
  echo "Not inside a Zellij session"
end

# Alt+SPC P     ---> List projects (and enter)
# Alt+SPC SPC   ---> Find file in project
# Alt+SPC .     ---> Find file in project
# TODO: Detect key press

# SPC . BROWSE FILES
# SPC : Execute
# SPC /+ search
# SPC [+ previous
# SPC ]+ next
# SPC c+ next
# SPC f+ file
#      . Find File
#      / Find file in project
#      ? Find file from here
#      d Find directory
# SPC SPC Find file in project


# SPC g+ git
# SPC h+ help
# SPC p+ project
#      p open project

# SPC c+ code

# SPC o+ open
#      A agenda
#      REPL (same window)


# SPC d[otfiles] s[ync] -> Sync dotfiles
# SPC d[otfiles] u[update] -> Update dotfiles
# SPC d[otfiles] u[update] -> Update dotfiles
bind \e\? _show-bindings

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.