Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ananicy-CPP Debian Package

GitHub Release Package Architecture License

An unofficial Debian package of Ananicy-CPP, bundled with the community-maintained rules from CachyOS ananicy-rules.

The package provides a ready-to-use systemd service for Debian, Ubuntu, AnduinOS, and compatible distributions.

Overview

Ananicy-CPP is a daemon that automatically adjusts process priorities according to configurable rules. It can manage nice, ionice, scheduler attributes, OOM score adjustments, and cgroups to improve responsiveness for interactive workloads.

This repository is a downstream packaging project. It combines the Ananicy-CPP executable, the packaged rule set, configuration files, and systemd integration into an installable amd64 Debian package.

Features

  • Automatic process-priority management.
  • Rules for games, desktop applications, audio services, and background workloads.
  • Community-maintained rules sourced from CachyOS.
  • Native systemd integration with automatic startup.
  • Resource and service hardening directives.
  • Configuration under /etc/ananicy.d/.
  • Support for custom local rules.

Requirements

  • Debian or a Debian-based distribution.
  • systemd.
  • amd64 architecture.
  • Root or sudo access.

The package declares its runtime dependencies in DEBIAN/control, including systemd, libc6, libstdc++6, and libsystemd0.

Installation

Download the latest package from the GitHub Releases page, then install it with:

sudo apt install ./ananicy-debian_VERSION_amd64.deb

The package enables and starts ananicy-cpp.service automatically when systemd is available.

Verification and usage

Check the service status:

systemctl status ananicy-cpp.service

View live service logs:

sudo journalctl -u ananicy-cpp.service -f

Inspect the rules loaded by the daemon:

ananicy-cpp dump rules

Configuration

The main configuration file is:

/etc/ananicy.d/ananicy.conf

Packaged rule files are installed under:

/etc/ananicy.d/

After changing configuration or rules, restart the service:

sudo systemctl restart ananicy-cpp.service

Custom rules

Add local rules to /etc/ananicy.d/ using the syntax supported by Ananicy-CPP. Keep local changes separate from packaged files so they can be managed independently during package upgrades.

Example:

{ "name": "your-application", "type": "Game" }

Avoid absolute executable paths. Ananicy-CPP matches process names.

The upstream rules project provides additional examples and contribution guidance in its rules README.

Service management

sudo systemctl start ananicy-cpp.service
sudo systemctl stop ananicy-cpp.service
sudo systemctl restart ananicy-cpp.service
sudo systemctl enable ananicy-cpp.service
sudo systemctl disable ananicy-cpp.service

The installed unit is:

/usr/lib/systemd/system/ananicy-cpp.service

The service runs:

/usr/bin/ananicy-cpp start

Building the package

This repository contains a prepared Debian package tree. Build it from a clean staging directory so repository metadata and root-level documentation are not included in the package:

staging_dir="$(mktemp -d)"
trap 'rm -rf "$staging_dir"' EXIT
tar --exclude=.git --exclude=.github --exclude=.gitignore \
    --exclude=README.md --exclude=LICENSE \
    -cf - . | tar -xf - -C "$staging_dir"
dpkg-deb --build --root-owner-group \
    "$staging_dir" ../ananicy-debian_VERSION_amd64.deb

Inspect the generated package with:

dpkg-deb --info ../ananicy-debian_VERSION_amd64.deb
dpkg-deb --contents ../ananicy-debian_VERSION_amd64.deb

Generated packages and build artifacts are excluded by .gitignore.

Package layout

DEBIAN/
├── conffiles
├── control
├── postinst
├── postrm
└── prerm
etc/
├── ananicy.d/
└── security/limits.d/
usr/
├── bin/
│   └── ananicy-cpp
├── lib/
│   └── systemd/system/
│       └── ananicy-cpp.service
└── share/
    └── doc/
        ├── ananicy-cpp-rules/
        │   └── upstream rule documentation
        └── ananicy-debian/
            ├── README.md
            ├── changelog.Debian
            └── copyright

Contributing

Bug reports, packaging improvements, and rule suggestions are welcome through GitHub Issues and pull requests.

For new process rules, first check the upstream CachyOS ananicy-rules repository and follow its contribution guidelines.

Credits

License

This packaging project is distributed under the GNU General Public License v3.0. Upstream Ananicy-CPP and rule files remain subject to their respective licenses and attribution requirements.

Links

About

Ananicy-CPP daemon including community-driven CachyOS rules. Debian-Package

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages